[jira] [Commented] (CASSANDRA-12888) Incremental repairs broken for MVs and CDC

2017-05-07 Thread Benjamin Roth (JIRA)

[ 
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

2017-05-07 Thread Anthony Grasso (JIRA)

[ 
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

2017-05-07 Thread Anthony Grasso (JIRA)

 [ 
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

2017-05-07 Thread Anthony Grasso (JIRA)

[ 
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

2017-05-07 Thread ASF GitHub Bot (JIRA)

[ 
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

2017-05-07 Thread ASF GitHub Bot (JIRA)

[ 
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 Davis 
Date:   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

2017-05-07 Thread Ben Slater (JIRA)

[ 
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

2017-05-07 Thread vincent royer (JIRA)

 [ 
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

2017-05-07 Thread vincent royer (JIRA)

 [ 
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

2017-05-07 Thread vincent royer (JIRA)

[ 
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

2017-05-07 Thread vincent royer (JIRA)
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.

2017-05-07 Thread vincent royer (JIRA)
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

2017-05-07 Thread vincent royer (JIRA)
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

2017-05-07 Thread vincent royer (JIRA)
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

2017-05-07 Thread vincent royer (JIRA)

[ 
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

2017-05-07 Thread vincent royer (JIRA)

[ 
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

2017-05-07 Thread vincent royer (JIRA)

 [ 
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

2017-05-07 Thread vincent royer (JIRA)

 [ 
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

2017-05-07 Thread ZhaoYang (JIRA)

[ 
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

2017-05-07 Thread ZhaoYang (JIRA)

[ 
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