Re: [VOTE] Release Apache Cassandra 3.0.4
+1 On Sat, Mar 5, 2016 at 9:27 PM, Josh McKenzie wrote: > +1 > > On Fri, Mar 4, 2016 at 8:46 PM, Jake Luciani wrote: > > > I propose the following artifacts for release as 3.0.4. > > > > sha1: 6328590808ff16fd026fd80cb28635d4313b8cc8 > > Git: > > > > > http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=shortlog;h=refs/tags/3.0.4-tentative > > Artifacts: > > > > > https://repository.apache.org/content/repositories/orgapachecassandra-1102/org/apache/cassandra/apache-cassandra/3.0.4/ > > Staging repository: > > > https://repository.apache.org/content/repositories/orgapachecassandra-1102/ > > > > The artifacts as well as the debian package are also available here: > > http://people.apache.org/~jake > > > > The vote will be open for 72 hours (longer if needed). > > > > [1]: http://goo.gl/pRvRQH (CHANGES.txt) > > [2]: http://goo.gl/pNiK5w (NEWS.txt) > > [3]: https://goo.gl/aInswH (DataStax Test Report) > > >
Re: [VOTE] Release Apache Cassandra 3.4
+1 On Sat, Mar 5, 2016 at 9:27 PM, Josh McKenzie wrote: > +1 > > On Fri, Mar 4, 2016 at 8:43 PM, Jake Luciani wrote: > > > I propose the following artifacts for release as 3.4. > > > > sha1: 70649a8d65825144fcdbde136d9b6354ef1fb911 > > Git: > > > > > http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=shortlog;h=refs/tags/3.4-tentative > > Artifacts: > > > > > https://repository.apache.org/content/repositories/orgapachecassandra-1103/org/apache/cassandra/apache-cassandra/3.4/ > > Staging repository: > > > https://repository.apache.org/content/repositories/orgapachecassandra-1103/ > > > > The artifacts as well as the debian package are also available here: > > http://people.apache.org/~jake > > > > The vote will be open for 72 hours (longer if needed). > > > > [1]: http://goo.gl/j9D9Se (CHANGES.txt) > > [2]: http://goo.gl/6R89cS (NEWS.txt) > > [3]: https://goo.gl/K5LkEL (DataStax Test Report) > > >
Re: [VOTE] Release Apache Cassandra 3.4
+1 On Sat, Mar 5, 2016 at 2:43 AM, Jake Luciani wrote: > I propose the following artifacts for release as 3.4. > > sha1: 70649a8d65825144fcdbde136d9b6354ef1fb911 > Git: > > http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=shortlog;h=refs/tags/3.4-tentative > Artifacts: > > https://repository.apache.org/content/repositories/orgapachecassandra-1103/org/apache/cassandra/apache-cassandra/3.4/ > Staging repository: > https://repository.apache.org/content/repositories/orgapachecassandra-1103/ > > The artifacts as well as the debian package are also available here: > http://people.apache.org/~jake > > The vote will be open for 72 hours (longer if needed). > > [1]: http://goo.gl/j9D9Se (CHANGES.txt) > [2]: http://goo.gl/6R89cS (NEWS.txt) > [3]: https://goo.gl/K5LkEL (DataStax Test Report) >
Re: [VOTE] Release Apache Cassandra 3.0.4
+1 On Sat, Mar 5, 2016 at 2:46 AM, Jake Luciani wrote: > I propose the following artifacts for release as 3.0.4. > > sha1: 6328590808ff16fd026fd80cb28635d4313b8cc8 > Git: > > http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=shortlog;h=refs/tags/3.0.4-tentative > Artifacts: > > https://repository.apache.org/content/repositories/orgapachecassandra-1102/org/apache/cassandra/apache-cassandra/3.0.4/ > Staging repository: > https://repository.apache.org/content/repositories/orgapachecassandra-1102/ > > The artifacts as well as the debian package are also available here: > http://people.apache.org/~jake > > The vote will be open for 72 hours (longer if needed). > > [1]: http://goo.gl/pRvRQH (CHANGES.txt) > [2]: http://goo.gl/pNiK5w (NEWS.txt) > [3]: https://goo.gl/aInswH (DataStax Test Report) >
Re: [VOTE] Release Apache Cassandra 3.4
+1 On Fri, Mar 4, 2016 at 7:43 PM, Jake Luciani wrote: > I propose the following artifacts for release as 3.4. > > sha1: 70649a8d65825144fcdbde136d9b6354ef1fb911 > Git: > > http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=shortlog;h=refs/tags/3.4-tentative > Artifacts: > > https://repository.apache.org/content/repositories/orgapachecassandra-1103/org/apache/cassandra/apache-cassandra/3.4/ > Staging repository: > https://repository.apache.org/content/repositories/orgapachecassandra-1103/ > > The artifacts as well as the debian package are also available here: > http://people.apache.org/~jake > > The vote will be open for 72 hours (longer if needed). > > [1]: http://goo.gl/j9D9Se (CHANGES.txt) > [2]: http://goo.gl/6R89cS (NEWS.txt) > [3]: https://goo.gl/K5LkEL (DataStax Test Report) >
Re: [VOTE] Release Apache Cassandra 3.0.4
+1 On Fri, Mar 4, 2016 at 7:46 PM, Jake Luciani wrote: > I propose the following artifacts for release as 3.0.4. > > sha1: 6328590808ff16fd026fd80cb28635d4313b8cc8 > Git: > > http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=shortlog;h=refs/tags/3.0.4-tentative > Artifacts: > > https://repository.apache.org/content/repositories/orgapachecassandra-1102/org/apache/cassandra/apache-cassandra/3.0.4/ > Staging repository: > https://repository.apache.org/content/repositories/orgapachecassandra-1102/ > > The artifacts as well as the debian package are also available here: > http://people.apache.org/~jake > > The vote will be open for 72 hours (longer if needed). > > [1]: http://goo.gl/pRvRQH (CHANGES.txt) > [2]: http://goo.gl/pNiK5w (NEWS.txt) > [3]: https://goo.gl/aInswH (DataStax Test Report) >
Re: Custom Java class for secondary index implementation
>From my review so far (I am new to the casssandra code base) it seems users could extend RegularColumnIndex, CollectionValueIndex, etc... but this will likely require being able to override the CassandraIndex.insert method which is currently private. My approach would be to de-serialize the cell, pick the fields I want to index and create a new Cell containing those fields only. I would them use the expr('custom_index', 'query_value') in my CQL for the query. An alternative would be to override the CassandraIndex.indexerFor and create a new Indexer but it seems like a lot of code to copy/paste unless there could also be a refactoring to extract the Indexer class into a class which could be extended so that the Indexer.insertRow could be overridden to perform the similar transformation on the Cell before adding the entry to the index. If the approach works, then user's could extend one of the index classes (RegularColumnIndex, CollectionValueIndex, etc...) and just override one method for transforming and inserting the entry to the index. Does, my approach seem like it would work? If yes, would it be worth it to make those two refactorings (make the CassandraIndex.insert method public or extract the in-lined indexer class in CassandraIndex.indexerFor so it can be extended (extension would be the Indexer.insertRow). Thank you, Henry These are the two CassandraIndex methods which would be refactored. /** * Called when adding a new entry to the index */ private void insert(ByteBuffer rowKey, Clustering clustering, Cell cell, LivenessInfo info, OpOrder.Group opGroup) public Indexer indexerFor(final DecoratedKey key, final PartitionColumns columns, final int nowInSec, final OpOrder.Group opGroup, final IndexTransaction.Type transactionType) On Sun, Mar 6, 2016 at 8:58 PM Jack Krupansky wrote: > Is RegularColumnIndex representative of what a typical custom index > needs... or not? > > > https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/index/internal/composites/RegularColumnIndex.java > > Ditto for CassandraIndex (abstract class) - should all (or at least most) > custom indexes extend it? > > > https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/index/internal/CassandraIndex.java > > > -- Jack Krupansky > > On Sun, Mar 6, 2016 at 11:03 PM, Henry Manasseh > wrote: > > > Thank you. This is a perfect class for to start experimenting with. > > > > > > On Sun, Mar 6, 2016 at 2:38 PM Sam Tunnicliffe wrote: > > > > > You might find o.a.c.i.StubIndex in the test source tree useful. > > > On 6 Mar 2016 19:24, "Henry Manasseh" wrote: > > > > > > > Hello, > > > > I was wondering if anyone is aware of a minimal reference > > implementation > > > > for a java class implementing a secondary index or some documentation > > of > > > > the interface(s) I would need to implement (I looked at the SASI 2i > > code > > > > but I am trying to find the bare bones test or sample class for a > > newbie > > > if > > > > it exists). > > > > > > > > e.g. I am referring to the class you would use for > > > > 'path.to.the.IndexClass'. > > > > > > > > CREATE CUSTOM INDEX ON users (email) USING 'path.to.the.IndexClass'; > > > > > > > > > > > > > > > > > I am trying to understand if it is possible to index a UDT collection > > > based > > > > on only one field of the UDT and still use the cassandra index file > > > > management (I don't want to provide my own file storage). In other > > > words, I > > > > am looking to see if the custom index class can serve as a > > transformation > > > > function to only index my subfield. This probably will need a tweak > to > > > the > > > > CQL to prevent a syntax error but not concerned about that at the > > moment. > > > > > > > > Thank you for any helps and tips, > > > > Henry > > > > > > > > > >
Re: Custom Java class for secondary index implementation
I think what I need is already captured in getIndexedValue... ignore earlier email. I'll just need to try it out and if it works I'll provide some information for others in the form of documentation. Thank you, -H /** * Extract the value to be inserted into the index from the components of the base data * @param partitionKey from the primary data * @param clustering from the primary data * @param path from the primary data * @param cellValue from the primary data * @return a ByteBuffer containing the value to be inserted in the index. This will be used to make the partition * key in the index table */ protected abstract ByteBuffer getIndexedValue(ByteBuffer partitionKey, Clustering clustering, CellPath path, ByteBuffer cellValue); On Mon, Mar 7, 2016 at 10:06 AM Henry Manasseh wrote: > From my review so far (I am new to the casssandra code base) it seems > users could extend RegularColumnIndex, CollectionValueIndex, etc... but > this will likely require being able to override the CassandraIndex.insert > method which is currently private. My approach would be to de-serialize the > cell, pick the fields I want to index and create a new Cell containing > those fields only. I would them use the expr('custom_index', 'query_value') > in my CQL for the query. > > An alternative would be to override the CassandraIndex.indexerFor and > create a new Indexer but it seems like a lot of code to copy/paste unless > there could also be a refactoring to extract the Indexer class into a class > which could be extended so that the Indexer.insertRow could be overridden > to perform the similar transformation on the Cell before adding the entry > to the index. > > If the approach works, then user's could extend one of the index classes > (RegularColumnIndex, CollectionValueIndex, etc...) and just override one > method for transforming and inserting the entry to the index. > > Does, my approach seem like it would work? If yes, would it be worth it to > make those two refactorings (make the CassandraIndex.insert method public > or extract the in-lined indexer class in CassandraIndex.indexerFor so it > can be extended (extension would be the Indexer.insertRow). > > Thank you, > Henry > > These are the two CassandraIndex methods which would be refactored. > > /** > * Called when adding a new entry to the index > */ > private void insert(ByteBuffer rowKey, > Clustering clustering, > Cell cell, > LivenessInfo info, > OpOrder.Group opGroup) > > > public Indexer indexerFor(final DecoratedKey key, > final PartitionColumns columns, > final int nowInSec, > final OpOrder.Group opGroup, > final IndexTransaction.Type transactionType) > > > > > > > On Sun, Mar 6, 2016 at 8:58 PM Jack Krupansky > wrote: > >> Is RegularColumnIndex representative of what a typical custom index >> needs... or not? >> >> >> https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/index/internal/composites/RegularColumnIndex.java >> >> Ditto for CassandraIndex (abstract class) - should all (or at least most) >> custom indexes extend it? >> >> >> https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/index/internal/CassandraIndex.java >> >> >> -- Jack Krupansky >> >> On Sun, Mar 6, 2016 at 11:03 PM, Henry Manasseh >> wrote: >> >> > Thank you. This is a perfect class for to start experimenting with. >> > >> > >> > On Sun, Mar 6, 2016 at 2:38 PM Sam Tunnicliffe wrote: >> > >> > > You might find o.a.c.i.StubIndex in the test source tree useful. >> > > On 6 Mar 2016 19:24, "Henry Manasseh" wrote: >> > > >> > > > Hello, >> > > > I was wondering if anyone is aware of a minimal reference >> > implementation >> > > > for a java class implementing a secondary index or some >> documentation >> > of >> > > > the interface(s) I would need to implement (I looked at the SASI 2i >> > code >> > > > but I am trying to find the bare bones test or sample class for a >> > newbie >> > > if >> > > > it exists). >> > > > >> > > > e.g. I am referring to the class you would use for >> > > > 'path.to.the.IndexClass'. >> > > > >> > > > CREATE CUSTOM INDEX ON users (email) USING 'path.to.the.IndexClass'; >> > > > > >> > > > >> > > > >> > > > I am trying to understand if it is possible to index a UDT >> collection >> > > based >> > > > on only one field of the UDT and still use the cassandra index file >> > > > management (I don't want to provide my own file storage). In other >> > > words, I >> > > > am looking to see if the custom index class can serve as a >> > transformation >> > > > function to only index my subfield. This probably will need a tweak >> to >> > > the >> > > > CQL to prevent a syntax error but n
[VOTE RESULT] Release Apache Cassandra 3.4
With 6 binding +1, 2 non-binding +1 and no -1 the vote passes On Mon, Mar 7, 2016 at 9:03 AM, Gary Dusbabek wrote: > +1 > > On Fri, Mar 4, 2016 at 7:43 PM, Jake Luciani wrote: > > > I propose the following artifacts for release as 3.4. > > > > sha1: 70649a8d65825144fcdbde136d9b6354ef1fb911 > > Git: > > > > > http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=shortlog;h=refs/tags/3.4-tentative > > Artifacts: > > > > > https://repository.apache.org/content/repositories/orgapachecassandra-1103/org/apache/cassandra/apache-cassandra/3.4/ > > Staging repository: > > > https://repository.apache.org/content/repositories/orgapachecassandra-1103/ > > > > The artifacts as well as the debian package are also available here: > > http://people.apache.org/~jake > > > > The vote will be open for 72 hours (longer if needed). > > > > [1]: http://goo.gl/j9D9Se (CHANGES.txt) > > [2]: http://goo.gl/6R89cS (NEWS.txt) > > [3]: https://goo.gl/K5LkEL (DataStax Test Report) > > >
[VOTE RESULT] Release Apache Cassandra 3.0.4
With 5 binding +1, 2 non-binding +1 and no -1 the vote passes On Mon, Mar 7, 2016 at 9:18 AM, Gary Dusbabek wrote: > +1 > > On Fri, Mar 4, 2016 at 7:46 PM, Jake Luciani wrote: > > > I propose the following artifacts for release as 3.0.4. > > > > sha1: 6328590808ff16fd026fd80cb28635d4313b8cc8 > > Git: > > > > > http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=shortlog;h=refs/tags/3.0.4-tentative > > Artifacts: > > > > > https://repository.apache.org/content/repositories/orgapachecassandra-1102/org/apache/cassandra/apache-cassandra/3.0.4/ > > Staging repository: > > > https://repository.apache.org/content/repositories/orgapachecassandra-1102/ > > > > The artifacts as well as the debian package are also available here: > > http://people.apache.org/~jake > > > > The vote will be open for 72 hours (longer if needed). > > > > [1]: http://goo.gl/pRvRQH (CHANGES.txt) > > [2]: http://goo.gl/pNiK5w (NEWS.txt) > > [3]: https://goo.gl/aInswH (DataStax Test Report) > > > -- http://twitter.com/tjake