[jira] [Commented] (CASSANDRA-12888) Incremental repairs broken for MVs and CDC
[ https://issues.apache.org/jira/browse/CASSANDRA-12888?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16000302#comment-16000302 ] Benjamin Roth commented on CASSANDRA-12888: --- [~pauloricardomg] Have you been able to take a look at the patch, yet? If not, maybe someone else wants to review it? It's there for 2 months now. The patch introduces multiple (active) memtables per CF. This could also help in other situations like: https://issues.apache.org/jira/browse/CASSANDRA-13290 https://issues.apache.org/jira/browse/CASSANDRA-12991 > Incremental repairs broken for MVs and CDC > -- > > Key: CASSANDRA-12888 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12888 > Project: Cassandra > Issue Type: Bug > Components: Streaming and Messaging >Reporter: Stefan Podkowinski >Assignee: Benjamin Roth >Priority: Critical > Fix For: 3.0.x, 3.11.x > > > SSTables streamed during the repair process will first be written locally and > afterwards either simply added to the pool of existing sstables or, in case > of existing MVs or active CDC, replayed on mutation basis: > As described in {{StreamReceiveTask.OnCompletionRunnable}}: > {quote} > We have a special path for views and for CDC. > For views, since the view requires cleaning up any pre-existing state, we > must put all partitions through the same write path as normal mutations. This > also ensures any 2is are also updated. > For CDC-enabled tables, we want to ensure that the mutations are run through > the CommitLog so they can be archived by the CDC process on discard. > {quote} > Using the regular write path turns out to be an issue for incremental > repairs, as we loose the {{repaired_at}} state in the process. Eventually the > streamed rows will end up in the unrepaired set, in contrast to the rows on > the sender site moved to the repaired set. The next repair run will stream > the same data back again, causing rows to bounce on and on between nodes on > each repair. > See linked dtest on steps to reproduce. An example for reproducing this > manually using ccm can be found > [here|https://gist.github.com/spodkowinski/2d8e0408516609c7ae701f2bf1e515e8] -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Comment Edited] (CASSANDRA-13262) Incorrect cqlsh results when selecting same columns multiple times
[ https://issues.apache.org/jira/browse/CASSANDRA-13262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16000200#comment-16000200 ] Anthony Grasso edited comment on CASSANDRA-13262 at 5/8/17 2:56 AM: [~spo...@gmail.com] I have created patches for [v2.2 | ^CASSANDRA-13262-v2.2.txt], [v3.0 | ^CASSANDRA-13262-v3.0.txt] and [v3.11 | ^CASSANDRA-13262-v3.11.txt]. I was unable to reproduced this issue in 2.1, hence no patch was created. was (Author: anthony grasso): [~spo...@gmail.com] have created patches for v2.2, v3.0 and v3.11. Was unable to produced this issue in 2.1. > Incorrect cqlsh results when selecting same columns multiple times > -- > > Key: CASSANDRA-13262 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13262 > Project: Cassandra > Issue Type: Bug >Reporter: Stefan Podkowinski >Assignee: Murukesh Mohanan >Priority: Minor > Labels: lhf > Fix For: 4.0 > > Attachments: > 0001-Fix-incorrect-cqlsh-results-when-selecting-same-colu.patch, > CASSANDRA-13262-v2.2.txt, CASSANDRA-13262-v3.0.txt, CASSANDRA-13262-v3.11.txt > > > Just stumbled over this on trunk: > {quote} > cqlsh:test1> select a, b, c from table1; > a | b| c > ---+--+- > 1 |b | 2 > 2 | null | 2.2 > (2 rows) > cqlsh:test1> select a, a, b, c from table1; > a | a| b | c > ---+--+-+-- > 1 |b | 2 | null > 2 | null | 2.2 | null > (2 rows) > cqlsh:test1> select a, a, a, b, c from table1; > a | a| a | b| c > ---+--+---+--+-- > 1 |b | 2.0 | null | null > 2 | null | 2.2004768 | null | null > {quote} > My guess is that his is on the Python side, but haven't really looked into it. -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-13262) Incorrect cqlsh results when selecting same columns multiple times
[ https://issues.apache.org/jira/browse/CASSANDRA-13262?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Anthony Grasso updated CASSANDRA-13262: --- Attachment: CASSANDRA-13262-v3.11.txt CASSANDRA-13262-v3.0.txt CASSANDRA-13262-v2.2.txt [~spo...@gmail.com] have created patches for v2.2, v3.0 and v3.11. Was unable to produced this issue in 2.1. > Incorrect cqlsh results when selecting same columns multiple times > -- > > Key: CASSANDRA-13262 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13262 > Project: Cassandra > Issue Type: Bug >Reporter: Stefan Podkowinski >Assignee: Murukesh Mohanan >Priority: Minor > Labels: lhf > Fix For: 4.0 > > Attachments: > 0001-Fix-incorrect-cqlsh-results-when-selecting-same-colu.patch, > CASSANDRA-13262-v2.2.txt, CASSANDRA-13262-v3.0.txt, CASSANDRA-13262-v3.11.txt > > > Just stumbled over this on trunk: > {quote} > cqlsh:test1> select a, b, c from table1; > a | b| c > ---+--+- > 1 |b | 2 > 2 | null | 2.2 > (2 rows) > cqlsh:test1> select a, a, b, c from table1; > a | a| b | c > ---+--+-+-- > 1 |b | 2 | null > 2 | null | 2.2 | null > (2 rows) > cqlsh:test1> select a, a, a, b, c from table1; > a | a| a | b| c > ---+--+---+--+-- > 1 |b | 2.0 | null | null > 2 | null | 2.2004768 | null | null > {quote} > My guess is that his is on the Python side, but haven't really looked into it. -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-10968) When taking snapshot, manifest.json contains incorrect or no files when column family has secondary indexes
[ https://issues.apache.org/jira/browse/CASSANDRA-10968?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16000186#comment-16000186 ] Anthony Grasso commented on CASSANDRA-10968: Nice find [~Ge]! I have reviewed code changes and performed the following for all versions of the patch available (2.1, 2.2, 3.11). - Tested as per the example given by [~Ge]. - Ran unit test created in isolation using the following command. {noformat} ant testsome -Dtest.name=org.apache.cassandra.db.ColumnFamilyStoreTest -Dtest.methods=testSnapshotWithoutFlushWithSecondaryIndexes {noformat} - Ran unit tests for {{ColumnFamilyStoreTest}} using the following command. {noformat} ant test -Dtest.name=ColumnFamilyStoreTest {noformat} I have left a comment on the PR in relation to the new unit test. We will need make a fix to it before we commit this patch. > When taking snapshot, manifest.json contains incorrect or no files when > column family has secondary indexes > --- > > Key: CASSANDRA-10968 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10968 > Project: Cassandra > Issue Type: Bug >Reporter: Fred A >Assignee: Aleksandr Sorokoumov > Labels: lhf > Fix For: 2.1.12, 2.2.4, 3.11.0 > > > xNoticed indeterminate behaviour when taking snapshot on column families that > has secondary indexes setup. The created manifest.json created when doing > snapshot, sometimes contains no file names at all and sometimes some file > names. > I don't know if this post is related but that was the only thing I could find: > http://www.mail-archive.com/user%40cassandra.apache.org/msg42019.html -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13397) Return value of CountDownLatch.await() not being checked in Repair
[ https://issues.apache.org/jira/browse/CASSANDRA-13397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16000136#comment-16000136 ] ASF GitHub Bot commented on CASSANDRA-13397: Github user grom358 closed the pull request at: https://github.com/apache/cassandra/pull/109 > Return value of CountDownLatch.await() not being checked in Repair > -- > > Key: CASSANDRA-13397 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13397 > Project: Cassandra > Issue Type: Bug >Reporter: Simon Zhou >Assignee: Simon Zhou >Priority: Minor > Fix For: 3.0.x > > Attachments: CASSANDRA-13397-v1.patch > > > While looking into repair code, I realize that we should check return value > of CountDownLatch.await(). Most of the places that we don't check the return > value, nothing bad would happen due to other protection. However, > ActiveRepairService#prepareForRepair should have the check. Code to reproduce: > {code} > public static void testLatch() throws InterruptedException { > CountDownLatch latch = new CountDownLatch(2); > latch.countDown(); > new Thread(() -> { > try { > Thread.sleep(1200); > } catch (InterruptedException e) { > System.err.println("interrupted"); > } > latch.countDown(); > System.out.println("counted down"); > }).start(); > latch.await(1, TimeUnit.SECONDS); > if (latch.getCount() > 0) { > System.err.println("failed"); > } else { > System.out.println("success"); > } > } > {code} -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13397) Return value of CountDownLatch.await() not being checked in Repair
[ https://issues.apache.org/jira/browse/CASSANDRA-13397?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16000134#comment-16000134 ] ASF GitHub Bot commented on CASSANDRA-13397: GitHub user grom358 opened a pull request: https://github.com/apache/cassandra/pull/109 Backport CASSANDRA-13397 You can merge this pull request into a Git repository by running: $ git pull https://github.com/instaclustr/cassandra cameron_13397 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cassandra/pull/109.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #109 commit bd49317cf8d406824e8be0b3a7c676a0a6bb95f9 Author: Alwyn DavisDate: 2016-09-30T00:44:22Z Test commit commit 2f45b53ee590fbefd3d15382765466fe716675d0 Author: Sylvain Lebresne Date: 2016-06-23T08:58:14Z Fixed conflicts commit c64c6a80a5a56f517625197fb30154f2ad99c808 Author: Yuki Morishita Date: 2016-08-03T14:34:27Z Release sstables of failed stream sessions only when outgoing transfers are finished Patch by Paulo Motta; reviewed by Yuki Morishita for CASSANDRA-11345 commit 7a7c219024128063fee1bac382b68b659f93ea66 Author: Paulo Motta Date: 2016-08-13T01:06:27Z Throw RuntimeException if starting transfer of already completed OutgoingFileMessage commit 05e9f07723ef53eb4b31ea3543699d6260797e3f Author: Marcus Eriksson Date: 2016-06-13T13:29:08Z Avoid missing sstables when getting the canonical sstables Patch by marcuse; reviewed by Stefania Alborghetti for CASSANDRA-11996 commit f258bab2954be32c7637c1ba936a11f1d500d52e Author: Sylvain Lebresne Date: 2016-07-25T14:35:33Z AssertionError with MVs on updating a row that isn't indexed due to a null value patch by Sylvain Lebresne; reviewed by Carl Yeksigian for CASSANDRA-12247 commit abdb8224a04a56a12a4b8ea6984d68f99234b2c8 Author: Alex Petrov Date: 2016-05-09T09:06:43Z Allow updating UDT nested in non-frozen map after ALTERing the UDT Patch by Alex Petrov; reviewed by jknighton for CASSANDRA-11604 commit 909dfa82a5576a4ff2274511009b569ce9e50cc9 Author: Edward Capriolo Date: 2016-06-10T15:45:57Z StorageService shutdown hook should use a volatile variable patch by Ed Capriolo; reviewed by Stefania Alborghetti for CASSANDRA-11984 commit 63c6e9b8efaf91f6782f674cf33a8db13dc40f57 Author: Sam Tunnicliffe Date: 2016-06-24T10:47:25Z Ensure new CFS is initialized before adding to schema Patch by Sam Tunnicliffe; reviewed by Aleksey Yeschenko for CASSANDRA-12083 commit 97d9b149c1189b82f68216be8eeac5f67f92b711 Author: Alwyn Date: 2016-10-06T04:24:00Z Fix for incorrect test case in CASSANDRA-11604 commit 34a71bc0ea1fd8f3378a7fa9a286010c09f44956 Author: Alwyn Davis Date: 2016-10-15T23:17:01Z Bumped version number commit 9e922d358a6ce8175b6f303b69b3c84a229514db Author: benbromhead Date: 2016-10-19T06:57:52Z Update README.asc Changed README to be our FAQ and text. Includes link to actual readme for apache cassandra commit 5a5d54d2583f6402c67e2ec6cc822e7ac99650cd Author: benbromhead Date: 2016-10-19T07:17:49Z Merge pull request #1 from benbromhead/patch-1 Update README.asc commit e36f435a5901a185c196ffb5a69bdebca5540444 Author: benbromhead Date: 2016-10-19T07:21:43Z Update README.asc Reworded a few things, fixed some typos commit ca1d94eec089694998d71869246d19516a1ef487 Author: benbromhead Date: 2016-10-19T07:28:01Z Update README.asc added link to Instaclustr.com commit 2d1c3f5ae2000899b74af91aaf883bf5690585c9 Author: benbromhead Date: 2016-10-19T17:38:16Z Update README.asc commit 488d07eaae3489aaf5468aeffde7859957292f3f Author: benbromhead Date: 2016-10-19T18:28:45Z Update README.asc a word commit deb53f468fe27aeb65f9729937233ea8e954f123 Author: Yuki Morishita Date: 2016-09-29T20:05:12Z Merge branch 'cassandra-3.0' into cassandra-3.7-instaclustr Fix merkle tree depth calculation Patch by Paulo Motta; Reviewed by Yuki Morishita for CASSANDRA-12580 commit e09f1abd7261d3372081b72713fa7e57ccc9d3cd Author: Yuki Morishita Date: 2016-10-20T14:47:36Z Fix unreleased resource sockets patch by Arunkumar M; reviewed by yukim for CASSANDRA-12330 commit 8405b187d5bbd7951fd7de409b9370bfe3f668cd
[jira] [Commented] (CASSANDRA-8780) cassandra-stress should support multiple table operations
[ https://issues.apache.org/jira/browse/CASSANDRA-8780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16000128#comment-16000128 ] Ben Slater commented on CASSANDRA-8780: --- [~tjake] just thought I'd give you a nudge on this. Thanks! > cassandra-stress should support multiple table operations > - > > Key: CASSANDRA-8780 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8780 > Project: Cassandra > Issue Type: Improvement > Components: Tools >Reporter: Benedict >Assignee: Ben Slater > Labels: stress > Fix For: 3.11.x > > Attachments: 8780-trunk-v3.patch > > -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-13270) Add function hooks to deliver Elasticsearch as a Cassandra plugin
[ https://issues.apache.org/jira/browse/CASSANDRA-13270?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] vincent royer updated CASSANDRA-13270: -- Description: With these basic modifications (see the patch) and the following tickets, the Elassandra project (see https://github.com/strapdata/elassandra) could be an Elasticsearch plugin for Cassandra. * CASSANDRA-12837 Add multi-threaded support to nodetool rebuild_index. * CASSANDRA-13267 Add CQL functions. * CASSANDRA-13268 Allow to create custom secondary index on static columns. * CASSANDRA-13269 Snapshot support for custom secondary indices * CASSANDRA-13499 Avoid duplicate calls to the same custom row index * CASSANDRA-13500 Fix String default Locale with a javassit transformer * CASSANDRA-13501 Upgrade some dependencies. * CASSANDRA-13502 Don't overwrite the DefaultUncaughtExceptionHandler when testing was: With these basic modifications (see the patch) and the following tickets, the Elassandra project (see https://github.com/strapdata/elassandra) could be an Elasticsearch plugin for Cassandra. * CASSANDRA-12837 Add multi-threaded support to nodetool rebuild_index. * CASSANDRA-13267 Add CQL functions. * CASSANDRA-13268 Allow to create custom secondary index on static columns. * CASSANDRA-13269 Snapshot support for custom secondary indices > Add function hooks to deliver Elasticsearch as a Cassandra plugin > - > > Key: CASSANDRA-13270 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13270 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: vincent royer >Priority: Minor > Labels: features > Fix For: 4.x > > Attachments: 0001-CASSANDRA-13270-elasticsearch-as-a-plugin.patch > > Original Estimate: 1h > Remaining Estimate: 1h > > With these basic modifications (see the patch) and the following tickets, the > Elassandra project (see https://github.com/strapdata/elassandra) could be an > Elasticsearch plugin for Cassandra. > * CASSANDRA-12837 Add multi-threaded support to nodetool rebuild_index. > * CASSANDRA-13267 Add CQL functions. > * CASSANDRA-13268 Allow to create custom secondary index on static columns. > * CASSANDRA-13269 Snapshot support for custom secondary indices > * CASSANDRA-13499 Avoid duplicate calls to the same custom row index > * CASSANDRA-13500 Fix String default Locale with a javassit transformer > * CASSANDRA-13501 Upgrade some dependencies. > * CASSANDRA-13502 Don't overwrite the DefaultUncaughtExceptionHandler when > testing -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-13500) Fix String default Locale with a javassit transformer
[ https://issues.apache.org/jira/browse/CASSANDRA-13500?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] vincent royer updated CASSANDRA-13500: -- Component/s: Build > Fix String default Locale with a javassit transformer > - > > Key: CASSANDRA-13500 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13500 > Project: Cassandra > Issue Type: Improvement > Components: Build, Core >Reporter: vincent royer >Priority: Minor > Fix For: 3.0.x, 3.11.x, 4.x > > Attachments: > 0008-Fix-String-default-Locale-with-a-javassit-transforme.patch > > Original Estimate: 12h > Remaining Estimate: 12h > > Several String related methods like java.lang.String.format() use implicitly > the default Locale, causing bugs with some Locale values. This byte-code > manipulation in build.xml explicitly set the Locale to Locale.ROOT in all > String related calls in Cassandra classes. For details, see > https://github.com/strapdata/maven-javassist/blob/master/javassist-maven > -plugin-core/src/main/java/com/strapdata/transformer/StringLocaleTransfo > rmer.java -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Comment Edited] (CASSANDRA-13269) Snapshot support for custom secondary indices
[ https://issues.apache.org/jira/browse/CASSANDRA-13269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=1501#comment-1501 ] vincent royer edited comment on CASSANDRA-13269 at 5/7/17 7:51 PM: --- Yes, i think it's up to the 2i provider to deal with custom tests and remove snapshots not stored in the same directory as table snapshots. The last attached patch include the following changes as suggested : * Add a default implementation of Index.getSnapshotWithoutFlushTask returning null. * Removed the change about the set of indexes (out of scope, see CASSANDRA-13499). * Verify code style. was (Author: vroyer59): Yes, i think it's up to the 2i provider to deal with custom tests and remove snapshots not stored in the same directory as table snapshots. The last attached patch include the following changes as suggested : * Add a default implementation of Index.getSnapshotWithoutFlushTask returning null. * Removed the change about the set of indexes (out of scope). * Verify code style. > Snapshot support for custom secondary indices > - > > Key: CASSANDRA-13269 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13269 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: vincent royer >Priority: Trivial > Labels: features > Fix For: 3.0.x, 3.11.x > > Attachments: 0001-CASSANDRA-13269-custom-indices-snapshot.patch, > 0006-CASSANDRA-13269-Snapshot-support-for-custom-secondar.patch > > > Enhance the index API to support snapshot of custom secondary indices. -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Created] (CASSANDRA-13502) Don't overwrite the DefaultUncaughtExceptionHandler when testing
vincent royer created CASSANDRA-13502: - Summary: Don't overwrite the DefaultUncaughtExceptionHandler when testing Key: CASSANDRA-13502 URL: https://issues.apache.org/jira/browse/CASSANDRA-13502 Project: Cassandra Issue Type: Improvement Components: Core Reporter: vincent royer Priority: Minor Fix For: 3.0.x, 3.11.x, 4.x Attachments: 0010-Don-t-overwrite-the-DefaultUncaughtExceptionHandler-.patch To be able to run some maven unit tests, set the default exception handler if the system property tests.maven is not defined (another property name could be used). -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Created] (CASSANDRA-13501) Upgrade some dependencies.
vincent royer created CASSANDRA-13501: - Summary: Upgrade some dependencies. Key: CASSANDRA-13501 URL: https://issues.apache.org/jira/browse/CASSANDRA-13501 Project: Cassandra Issue Type: Improvement Components: Libraries Reporter: vincent royer Priority: Minor Fix For: 3.0.x, 3.11.x, 4.x Upgrade some java libraries to be able to run elasticsearch as a cassandra plugin (an elasticsearch jar dropped in lib), see CASSANDRA-13270. -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Created] (CASSANDRA-13500) Fix String default Locale with a javassit transformer
vincent royer created CASSANDRA-13500: - Summary: Fix String default Locale with a javassit transformer Key: CASSANDRA-13500 URL: https://issues.apache.org/jira/browse/CASSANDRA-13500 Project: Cassandra Issue Type: Improvement Components: Core Reporter: vincent royer Priority: Minor Fix For: 3.0.x, 3.11.x, 4.x Attachments: 0008-Fix-String-default-Locale-with-a-javassit-transforme.patch Several String related methods like java.lang.String.format() use implicitly the default Locale, causing bugs with some Locale values. This byte-code manipulation in build.xml explicitly set the Locale to Locale.ROOT in all String related calls in Cassandra classes. For details, see https://github.com/strapdata/maven-javassist/blob/master/javassist-maven -plugin-core/src/main/java/com/strapdata/transformer/StringLocaleTransfo rmer.java -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Created] (CASSANDRA-13499) Avoid duplicate calls to the same custom row index
vincent royer created CASSANDRA-13499: - Summary: Avoid duplicate calls to the same custom row index Key: CASSANDRA-13499 URL: https://issues.apache.org/jira/browse/CASSANDRA-13499 Project: Cassandra Issue Type: Improvement Components: Core Reporter: vincent royer Priority: Minor Fix For: 3.0.14, 3.11.0, 4.x Attachments: 0006-Avoid-duplicate-calls-to-the-same-custom-index.patch Avoid duplicate calls to the same custom row index by using a dedicated Set rather than the collection indexes.values(). -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Comment Edited] (CASSANDRA-13267) Add new CQL functions
[ https://issues.apache.org/jira/browse/CASSANDRA-13267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15928942#comment-15928942 ] vincent royer edited comment on CASSANDRA-13267 at 5/7/17 3:33 PM: --- Well, deserializer.toString() returns a string representation that fit my needs (ByteType = signed decimal integer, BytesType = hexadecimal string), but as suggested by Sylvain, here is a working proposal to be able to support pluggable generic CQL functions, only for SELECT statement. By default, toJson would be the only registered generic function, but anyone could programmatically register other generic functions by calling GenericFunctionRegistry.registerFunction, or implements the IGenericFunction.Loader to automatically register functions available in the classpath. This would require to add a file META-INF/services/org.apache.cassandra.cql3.functions.IGenericFunction$Loader containing function classes (see java.util.ServiceLoader) and anyone could drop a jar file in cassandra lib directory to add some CQL generic functions (including my private weird functions, toString + toJsonArray ;-)). include unit tests OK was (Author: vroyer59): Well, deserializer.toString() returns a string representation that fit my needs (ByteType = signed decimal integer, BytesType = hexadecimal string), but as suggested by Sylvain, here is a working proposal to be able to support pluggable generic CQL functions, only for SELECT statement. By default, toJson would be the only registered generic function, but anyone could programmatically register other generic functions by calling GenericFunctionRegistry.registerFunction, or implements the IGenericFunction.Loader to automatically register functions available in the classpath. This would require to add a file META-INF/services/org.apache.cassandra.cql3.functions.IGenericFunction$Loader containing function classes (see java.util.ServiceLoader) and anyone could drop a jar file in cassandra lib directory to add some CQL generic functions (including my private weird functions, toString + toJsonArray ;-)). include unit tests OK, branch available at https://github.com/strapdata/cassandra/tree/cassandra-13267 > Add new CQL functions > - > > Key: CASSANDRA-13267 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13267 > Project: Cassandra > Issue Type: Improvement > Components: CQL >Reporter: vincent royer >Priority: Trivial > Labels: features > Fix For: 3.0.x > > Attachments: 0001-CASSANDRA-13267-Add-CQL-functions.patch, > 0001-CASSANDRA-13267-generic-function.patch > > > Introduce 2 new CQL functions : > -toString(x) converts a column to its string representation. > -toJsonArray(x, y, z...) generates a JSON array of JSON string. -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13269) Snapshot support for custom secondary indices
[ https://issues.apache.org/jira/browse/CASSANDRA-13269?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=1501#comment-1501 ] vincent royer commented on CASSANDRA-13269: --- Yes, i think it's up to the 2i provider to deal with custom tests and remove snapshots not stored in the same directory as table snapshots. The last attached patch include the following changes as suggested : * Add a default implementation of Index.getSnapshotWithoutFlushTask returning null. * Removed the change about the set of indexes (out of scope). * Verify code style. > Snapshot support for custom secondary indices > - > > Key: CASSANDRA-13269 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13269 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: vincent royer >Priority: Trivial > Labels: features > Fix For: 3.0.x, 3.11.x > > Attachments: 0001-CASSANDRA-13269-custom-indices-snapshot.patch, > 0006-CASSANDRA-13269-Snapshot-support-for-custom-secondar.patch > > > Enhance the index API to support snapshot of custom secondary indices. -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-13269) Snapshot support for custom secondary indices
[ https://issues.apache.org/jira/browse/CASSANDRA-13269?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] vincent royer updated CASSANDRA-13269: -- Attachment: (was: 0005-Avoid-duplicate-calls-to-the-same-custom-index.patch) > Snapshot support for custom secondary indices > - > > Key: CASSANDRA-13269 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13269 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: vincent royer >Priority: Trivial > Labels: features > Fix For: 3.0.x, 3.11.x > > Attachments: 0001-CASSANDRA-13269-custom-indices-snapshot.patch, > 0006-CASSANDRA-13269-Snapshot-support-for-custom-secondar.patch > > > Enhance the index API to support snapshot of custom secondary indices. -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-13269) Snapshot support for custom secondary indices
[ https://issues.apache.org/jira/browse/CASSANDRA-13269?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] vincent royer updated CASSANDRA-13269: -- Attachment: 0006-CASSANDRA-13269-Snapshot-support-for-custom-secondar.patch 0005-Avoid-duplicate-calls-to-the-same-custom-index.patch > Snapshot support for custom secondary indices > - > > Key: CASSANDRA-13269 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13269 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: vincent royer >Priority: Trivial > Labels: features > Fix For: 3.0.x, 3.11.x > > Attachments: 0001-CASSANDRA-13269-custom-indices-snapshot.patch, > 0005-Avoid-duplicate-calls-to-the-same-custom-index.patch, > 0006-CASSANDRA-13269-Snapshot-support-for-custom-secondar.patch > > > Enhance the index API to support snapshot of custom secondary indices. -- This message was sent by Atlassian JIRA (v6.3.15#6346) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Comment Edited] (CASSANDRA-13409) Materialized Views: View cells are resurrected
[ https://issues.apache.org/jira/browse/CASSANDRA-13409?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15998614#comment-15998614 ] ZhaoYang edited comment on CASSANDRA-13409 at 5/7/17 6:28 AM: -- || source || junit || dtest|| | [3.0|https://github.com/jasonstack/cassandra/commits/CASSANDRA-13409-3.0]| [utest|https://circleci.com/gh/jasonstack/cassandra/42] | | | [3.11|https://github.com/jasonstack/cassandra/commits/CASSANDRA-13409-3.11] | [utest|https://circleci.com/gh/jasonstack/cassandra/46?utm_campaign=vcs-integration-link_medium=referral_source=github-build-link] | | | [dtest|https://github.com/jasonstack/cassandra-dtest/commits/CASSANDRA-13409] | \ | \ | 1. if there is row deletion on base, now it will create regular-row-tombstone for view. (previously only shadowable-row-tombstones) 2. modify Row.Deletion to retain one more regular-row-tombtone with extra flag in UnfilteredSerializer * the most recent regular-row-tombstone which has TS < most recent shadowable-row-tombstones's TS * if shadowable-row-tombstone is shadowed by new row, its retained regular-row-tombstone(could be LIVE) will be used 3. changed sstabledump (aka sstableexport) to support : shadowable/regular row.deletion as following: {code} "rows" : [ { "type" : "row", "position" : 63, "clustering" : [ "3" ], "deletion_info" : { "shadowable" : { "marked_deleted" : "1970-01-01T00:00:00.04Z", "local_delete_time" : "2017-05-06T03:21:47Z" }, "regular" : { "marked_deleted" : "1970-01-01T00:00:00.02Z", "local_delete_time" : "2017-05-06T03:21:47Z" } }, "cells" : [ ] } ] {code} was (Author: jasonstack): || source || junit || dtest|| | [3.0|https://github.com/jasonstack/cassandra/commits/CASSANDRA-13409-3.0]| [utest|https://circleci.com/gh/jasonstack/cassandra/42] | | | [3.11|https://github.com/jasonstack/cassandra/commits/CASSANDRA-13409-3.11] | [utest|https://circleci.com/gh/jasonstack/cassandra/46?utm_campaign=vcs-integration-link_medium=referral_source=github-build-link] | | | [dtest|https://github.com/jasonstack/cassandra-dtest/commits/CASSANDRA-13409] | | | 1. if there is row deletion on base, now it will create regular-row-tombstone for view. (previously only shadowable-row-tombstones) 2. modify Row.Deletion to retain one more regular-row-tombtone with extra flag in UnfilteredSerializer * the most recent regular-row-tombstone which has TS < most recent shadowable-row-tombstones's TS * if shadowable-row-tombstone is shadowed by new row, its retained regular-row-tombstone(could be LIVE) will be used 3. changed sstabledump (aka sstableexport) to support : shadowable/regular row.deletion as following: {code} "rows" : [ { "type" : "row", "position" : 63, "clustering" : [ "3" ], "deletion_info" : { "shadowable" : { "marked_deleted" : "1970-01-01T00:00:00.04Z", "local_delete_time" : "2017-05-06T03:21:47Z" }, "regular" : { "marked_deleted" : "1970-01-01T00:00:00.02Z", "local_delete_time" : "2017-05-06T03:21:47Z" } }, "cells" : [ ] } ] {code} > Materialized Views: View cells are resurrected > -- > > Key: CASSANDRA-13409 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13409 > Project: Cassandra > Issue Type: Bug > Components: Local Write-Read Paths, Materialized Views >Reporter: Duarte Nunes >Assignee: ZhaoYang > > Consider the following commands, ran against trunk@0f054fee5c: > {code:xml} > echo "create keyspace ks WITH replication = {'class': 'SimpleStrategy', > 'replication_factor': 1};" | bin/cqlsh > echo "create table ks.base (p int primary key, v1 int, v2 int) with > gc_grace_seconds = 1;" | bin/cqlsh > echo "create materialized view ks.my_view as select * from ks.base where p is > not null and v1 is not null primary key (v1, p);" | bin/cqlsh > echo "insert into ks.base (p, v1, v2) values (3, 1, 3) using timestamp 1;" | > bin/cqlsh > bin/nodetool flush ks my_view base > echo "delete from ks.base using timestamp 2 where p = 3;" | bin/cqlsh > bin/nodetool flush ks my_view base > echo "insert into ks.base (p, v1) values (3, 1) using timestamp 3;" | > bin/cqlsh > bin/nodetool flush ks my_view base > echo "select * from ks.my_view;" | bin/cqlsh > v1 | p | v2 > +---+ > 1 | 3 | 3 > (1 rows) > echo "select * from ks.base;" | bin/cqlsh > p | v1 | v2 > ---++-- > 3 | 1 | null > (1 rows) > {code} > As you can see, this incorrectly brings back cell v2=3. > There is one definitive problem and a potential one: > * Merging rows must be commutative. If a shadowable tombstone is applied > after a row tombstone, it will replace that tombstone; if a row marker
[jira] [Comment Edited] (CASSANDRA-13409) Materialized Views: View cells are resurrected
[ https://issues.apache.org/jira/browse/CASSANDRA-13409?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15998614#comment-15998614 ] ZhaoYang edited comment on CASSANDRA-13409 at 5/7/17 6:28 AM: -- || source || junit || dtest|| | [3.0|https://github.com/jasonstack/cassandra/commits/CASSANDRA-13409-3.0]| [utest|https://circleci.com/gh/jasonstack/cassandra/42] | | | [3.11|https://github.com/jasonstack/cassandra/commits/CASSANDRA-13409-3.11] | [utest|https://circleci.com/gh/jasonstack/cassandra/46?utm_campaign=vcs-integration-link_medium=referral_source=github-build-link] | | | [dtest|https://github.com/jasonstack/cassandra-dtest/commits/CASSANDRA-13409] | | | 1. if there is row deletion on base, now it will create regular-row-tombstone for view. (previously only shadowable-row-tombstones) 2. modify Row.Deletion to retain one more regular-row-tombtone with extra flag in UnfilteredSerializer * the most recent regular-row-tombstone which has TS < most recent shadowable-row-tombstones's TS * if shadowable-row-tombstone is shadowed by new row, its retained regular-row-tombstone(could be LIVE) will be used 3. changed sstabledump (aka sstableexport) to support : shadowable/regular row.deletion as following: {code} "rows" : [ { "type" : "row", "position" : 63, "clustering" : [ "3" ], "deletion_info" : { "shadowable" : { "marked_deleted" : "1970-01-01T00:00:00.04Z", "local_delete_time" : "2017-05-06T03:21:47Z" }, "regular" : { "marked_deleted" : "1970-01-01T00:00:00.02Z", "local_delete_time" : "2017-05-06T03:21:47Z" } }, "cells" : [ ] } ] {code} was (Author: jasonstack): || source || junit || dtest|| | [3.0|https://github.com/jasonstack/cassandra/commits/CASSANDRA-13409-3.0]| [utest|https://circleci.com/gh/jasonstack/cassandra/42] | | | [3.11|https://github.com/jasonstack/cassandra/commits/CASSANDRA-13409-3.11] | | | | [dtest|https://github.com/jasonstack/cassandra-dtest/commits/CASSANDRA-13409] | | | 1. if there is row deletion on base, now it will create regular-row-tombstone for view. (previously only shadowable-row-tombstones) 2. modify Row.Deletion to retain one more regular-row-tombtone with extra flag in UnfilteredSerializer * the most recent regular-row-tombstone which has TS < most recent shadowable-row-tombstones's TS * if shadowable-row-tombstone is shadowed by new row, its retained regular-row-tombstone(could be LIVE) will be used 3. changed sstabledump (aka sstableexport) to support : shadowable/regular row.deletion as following: {code} "rows" : [ { "type" : "row", "position" : 63, "clustering" : [ "3" ], "deletion_info" : { "shadowable" : { "marked_deleted" : "1970-01-01T00:00:00.04Z", "local_delete_time" : "2017-05-06T03:21:47Z" }, "regular" : { "marked_deleted" : "1970-01-01T00:00:00.02Z", "local_delete_time" : "2017-05-06T03:21:47Z" } }, "cells" : [ ] } ] {code} > Materialized Views: View cells are resurrected > -- > > Key: CASSANDRA-13409 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13409 > Project: Cassandra > Issue Type: Bug > Components: Local Write-Read Paths, Materialized Views >Reporter: Duarte Nunes >Assignee: ZhaoYang > > Consider the following commands, ran against trunk@0f054fee5c: > {code:xml} > echo "create keyspace ks WITH replication = {'class': 'SimpleStrategy', > 'replication_factor': 1};" | bin/cqlsh > echo "create table ks.base (p int primary key, v1 int, v2 int) with > gc_grace_seconds = 1;" | bin/cqlsh > echo "create materialized view ks.my_view as select * from ks.base where p is > not null and v1 is not null primary key (v1, p);" | bin/cqlsh > echo "insert into ks.base (p, v1, v2) values (3, 1, 3) using timestamp 1;" | > bin/cqlsh > bin/nodetool flush ks my_view base > echo "delete from ks.base using timestamp 2 where p = 3;" | bin/cqlsh > bin/nodetool flush ks my_view base > echo "insert into ks.base (p, v1) values (3, 1) using timestamp 3;" | > bin/cqlsh > bin/nodetool flush ks my_view base > echo "select * from ks.my_view;" | bin/cqlsh > v1 | p | v2 > +---+ > 1 | 3 | 3 > (1 rows) > echo "select * from ks.base;" | bin/cqlsh > p | v1 | v2 > ---++-- > 3 | 1 | null > (1 rows) > {code} > As you can see, this incorrectly brings back cell v2=3. > There is one definitive problem and a potential one: > * Merging rows must be commutative. If a shadowable tombstone is applied > after a row tombstone, it will replace that tombstone; if a row marker > shadows the shadowable tombstone before the row containing the original data > is applied, then any dead cells in said data will be