[jira] [Comment Edited] (CASSANDRA-13850) Modifying "cassandra-env.sh"

2017-10-05 Thread Amitkumar Ghatwal (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16189512#comment-16189512
 ] 

Amitkumar Ghatwal edited comment on CASSANDRA-13850 at 10/6/17 5:55 AM:


[~jjirsa] [~mshuler] -  Could you please check the PR here and see if  this 
fits the bill. This is an upgrade to this ticket - 
https://issues.apache.org/jira/browse/CASSANDRA-13601


was (Author: amitkumar_ghatwal):
[~jjirsa] [~mshuler] -  Could you please check the PR here and see this fits 
the bill. This is an upgrade to this ticket - 
https://issues.apache.org/jira/browse/CASSANDRA-13601

> Modifying "cassandra-env.sh"
> 
>
> Key: CASSANDRA-13850
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13850
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Amitkumar Ghatwal
> Fix For: 4.x
>
>
> Hi All,
> Added support for arch in "cassandra-env.sh " with PR  : 
> https://github.com/apache/cassandra/pull/149
> Regards,
> Amit



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-13863) Speculative retry causes read repair even if read_repair_chance is 0.0.

2017-10-05 Thread Shogo Hoshii (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16194173#comment-16194173
 ] 

Shogo Hoshii commented on CASSANDRA-13863:
--

Hello, 

I am Shogo from same company as Mr. Wakabayashi and Mohanan.
I have attached a pdf file, that shows the result of the performance test 
between 3.0.9 and 3.0.12.

[~muru] Could you attach the patch you made and the result of performance test 
of the patched cluster if possible?
They would be helpful for discussion.

> Speculative retry causes read repair even if read_repair_chance is 0.0.
> ---
>
> Key: CASSANDRA-13863
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13863
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Hiro Wakabayashi
> Attachments: speculative retries.pdf
>
>
> {{read_repair_chance = 0.0}} and {{dclocal_read_repair_chance = 0.0}} should 
> cause no read repair, but read repair happens with speculative retry. I think 
> {{read_repair_chance = 0.0}} and {{dclocal_read_repair_chance = 0.0}} should 
> stop read repair completely because the user wants to stop read repair in 
> some cases.
> {panel:title=Case 1: TWCS users}
> The 
> [documentation|http://cassandra.apache.org/doc/latest/operating/compaction.html?highlight=read_repair_chance]
>  states how to disable read repair.
> {quote}While TWCS tries to minimize the impact of comingled data, users 
> should attempt to avoid this behavior. Specifically, users should avoid 
> queries that explicitly set the timestamp via CQL USING TIMESTAMP. 
> Additionally, users should run frequent repairs (which streams data in such a 
> way that it does not become comingled), and disable background read repair by 
> setting the table’s read_repair_chance and dclocal_read_repair_chance to 0.
> {quote}
> {panel}
> {panel:title=Case 2. Strict SLA for read latency}
> In a peak time, read latency is a key for us but, read repair causes latency 
> higher than no read repair. We can use anti entropy repair in off peak time 
> for consistency.
> {panel}
>  
> Here is my procedure to reproduce the problem.
> h3. 1. Create a cluster and set {{hinted_handoff_enabled}} to false.
> {noformat}
> $ ccm create -v 3.0.14 -n 3 cluster_3.0.14
> $ for h in $(seq 1 3) ; do perl -pi -e 's/hinted_handoff_enabled: 
> true/hinted_handoff_enabled: false/' 
> ~/.ccm/cluster_3.0.14/node$h/conf/cassandra.yaml ; done
> $ for h in $(seq 1 3) ; do grep "hinted_handoff_enabled:" 
> ~/.ccm/cluster_3.0.14/node$h/conf/cassandra.yaml ; done
> hinted_handoff_enabled: false
> hinted_handoff_enabled: false
> hinted_handoff_enabled: false
> $ ccm start{noformat}
> h3. 2. Create a keyspace and a table.
> {noformat}
> $ ccm node1 cqlsh
> DROP KEYSPACE IF EXISTS ks1;
> CREATE KEYSPACE ks1 WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '3'}  AND durable_writes = true;
> CREATE TABLE ks1.t1 (
> key text PRIMARY KEY,
> value blob
> ) WITH bloom_filter_fp_chance = 0.01
> AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
> AND comment = ''
> AND compaction = {'class': 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
> 'max_threshold': '32', 'min_threshold': '4'}
> AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}
> AND crc_check_chance = 1.0
> AND dclocal_read_repair_chance = 0.0
> AND default_time_to_live = 0
> AND gc_grace_seconds = 864000
> AND max_index_interval = 2048
> AND memtable_flush_period_in_ms = 0
> AND min_index_interval = 128
> AND read_repair_chance = 0.0
> AND speculative_retry = 'ALWAYS';
> QUIT;
> {noformat}
> h3. 3. Stop node2 and node3. Insert a row.
> {noformat}
> $ ccm node3 stop && ccm node2 stop && ccm status
> Cluster: 'cluster_3.0.14'
> --
> node1: UP
> node3: DOWN
> node2: DOWN
> $ ccm node1 cqlsh -k ks1 -e "consistency; tracing on; insert into ks1.t1 
> (key, value) values ('mmullass', bigintAsBlob(1));"
> Current consistency level is ONE.
> Now Tracing is enabled
> Tracing session: 01d74590-97cb-11e7-8ea7-c1bd4d549501
>  activity 
>| timestamp  | source| 
> source_elapsed
> -++---+
>   
> Execute CQL3 query | 2017-09-12 23:59:42.316000 | 127.0.0.1 | 
>  0
>  Parsing insert into ks1.t1 (key, value) values ('mmullass', 
> bigintAsBlob(1)); [SharedPool-Worker-1] 

[jira] [Updated] (CASSANDRA-13863) Speculative retry causes read repair even if read_repair_chance is 0.0.

2017-10-05 Thread Shogo Hoshii (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13863?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shogo Hoshii updated CASSANDRA-13863:
-
Attachment: speculative retries.pdf

The result of performance test between 3.0.9 and 3.0.12 clusters

> Speculative retry causes read repair even if read_repair_chance is 0.0.
> ---
>
> Key: CASSANDRA-13863
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13863
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Hiro Wakabayashi
> Attachments: speculative retries.pdf
>
>
> {{read_repair_chance = 0.0}} and {{dclocal_read_repair_chance = 0.0}} should 
> cause no read repair, but read repair happens with speculative retry. I think 
> {{read_repair_chance = 0.0}} and {{dclocal_read_repair_chance = 0.0}} should 
> stop read repair completely because the user wants to stop read repair in 
> some cases.
> {panel:title=Case 1: TWCS users}
> The 
> [documentation|http://cassandra.apache.org/doc/latest/operating/compaction.html?highlight=read_repair_chance]
>  states how to disable read repair.
> {quote}While TWCS tries to minimize the impact of comingled data, users 
> should attempt to avoid this behavior. Specifically, users should avoid 
> queries that explicitly set the timestamp via CQL USING TIMESTAMP. 
> Additionally, users should run frequent repairs (which streams data in such a 
> way that it does not become comingled), and disable background read repair by 
> setting the table’s read_repair_chance and dclocal_read_repair_chance to 0.
> {quote}
> {panel}
> {panel:title=Case 2. Strict SLA for read latency}
> In a peak time, read latency is a key for us but, read repair causes latency 
> higher than no read repair. We can use anti entropy repair in off peak time 
> for consistency.
> {panel}
>  
> Here is my procedure to reproduce the problem.
> h3. 1. Create a cluster and set {{hinted_handoff_enabled}} to false.
> {noformat}
> $ ccm create -v 3.0.14 -n 3 cluster_3.0.14
> $ for h in $(seq 1 3) ; do perl -pi -e 's/hinted_handoff_enabled: 
> true/hinted_handoff_enabled: false/' 
> ~/.ccm/cluster_3.0.14/node$h/conf/cassandra.yaml ; done
> $ for h in $(seq 1 3) ; do grep "hinted_handoff_enabled:" 
> ~/.ccm/cluster_3.0.14/node$h/conf/cassandra.yaml ; done
> hinted_handoff_enabled: false
> hinted_handoff_enabled: false
> hinted_handoff_enabled: false
> $ ccm start{noformat}
> h3. 2. Create a keyspace and a table.
> {noformat}
> $ ccm node1 cqlsh
> DROP KEYSPACE IF EXISTS ks1;
> CREATE KEYSPACE ks1 WITH replication = {'class': 'SimpleStrategy', 
> 'replication_factor': '3'}  AND durable_writes = true;
> CREATE TABLE ks1.t1 (
> key text PRIMARY KEY,
> value blob
> ) WITH bloom_filter_fp_chance = 0.01
> AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
> AND comment = ''
> AND compaction = {'class': 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 
> 'max_threshold': '32', 'min_threshold': '4'}
> AND compression = {'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}
> AND crc_check_chance = 1.0
> AND dclocal_read_repair_chance = 0.0
> AND default_time_to_live = 0
> AND gc_grace_seconds = 864000
> AND max_index_interval = 2048
> AND memtable_flush_period_in_ms = 0
> AND min_index_interval = 128
> AND read_repair_chance = 0.0
> AND speculative_retry = 'ALWAYS';
> QUIT;
> {noformat}
> h3. 3. Stop node2 and node3. Insert a row.
> {noformat}
> $ ccm node3 stop && ccm node2 stop && ccm status
> Cluster: 'cluster_3.0.14'
> --
> node1: UP
> node3: DOWN
> node2: DOWN
> $ ccm node1 cqlsh -k ks1 -e "consistency; tracing on; insert into ks1.t1 
> (key, value) values ('mmullass', bigintAsBlob(1));"
> Current consistency level is ONE.
> Now Tracing is enabled
> Tracing session: 01d74590-97cb-11e7-8ea7-c1bd4d549501
>  activity 
>| timestamp  | source| 
> source_elapsed
> -++---+
>   
> Execute CQL3 query | 2017-09-12 23:59:42.316000 | 127.0.0.1 | 
>  0
>  Parsing insert into ks1.t1 (key, value) values ('mmullass', 
> bigintAsBlob(1)); [SharedPool-Worker-1] | 2017-09-12 23:59:42.319000 | 
> 127.0.0.1 |   4323
>Preparing 
> statement [SharedPool-Worker-1] | 2017-09-12 23:59:42.32 | 127.0.0.1 |
>5250
>

[jira] [Commented] (CASSANDRA-13530) GroupCommitLogService

2017-10-05 Thread Yuji Ito (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16194006#comment-16194006
 ] 

Yuji Ito commented on CASSANDRA-13530:
--

Thanks [~aweisberg],

It looks good for me.
As you said, it is better to use `commitlog_sync_group_window_in_ms` in the 
batch commit log service.
The batch will come to be mean really "batch".
If users might be confused by the change of the behavior, the alternative way 
is OK.

> GroupCommitLogService
> -
>
> Key: CASSANDRA-13530
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13530
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Yuji Ito
>Assignee: Yuji Ito
> Fix For: 2.2.x, 3.0.x, 3.11.x
>
> Attachments: groupAndBatch.png, groupCommit22.patch, 
> groupCommit30.patch, groupCommit3x.patch, 
> groupCommitLog_noSerial_result.xlsx, groupCommitLog_result.xlsx, 
> GuavaRequestThread.java, MicroRequestThread.java
>
>
> I propose a new CommitLogService, GroupCommitLogService, to improve the 
> throughput when lots of requests are received.
> It improved the throughput by maximum 94%.
> I'd like to discuss about this CommitLogService.
> Currently, we can select either 2 CommitLog services; Periodic and Batch.
> In Periodic, we might lose some commit log which hasn't written to the disk.
> In Batch, we can write commit log to the disk every time. The size of commit 
> log to write is too small (< 4KB). When high concurrency, these writes are 
> gathered and persisted to the disk at once. But, when insufficient 
> concurrency, many small writes are issued and the performance decreases due 
> to the latency of the disk. Even if you use SSD, processes of many IO 
> commands decrease the performance.
> GroupCommitLogService writes some commitlog to the disk at once.
> The patch adds GroupCommitLogService (It is enabled by setting 
> `commitlog_sync` and `commitlog_sync_group_window_in_ms` in cassandra.yaml).
> The difference from Batch is just only waiting for the semaphore.
> By waiting for the semaphore, some writes for commit logs are executed at the 
> same time.
> In GroupCommitLogService, the latency becomes worse if the there is no 
> concurrency.
> I measured the performance with my microbench (MicroRequestThread.java) by 
> increasing the number of threads.The cluster has 3 nodes (Replication factor: 
> 3). Each nodes is AWS EC2 m4.large instance + 200IOPS io1 volume.
> The result is as below. The GroupCommitLogService with 10ms window improved 
> update with Paxos by 94% and improved select with Paxos by 76%.
> h6. SELECT / sec
> ||\# of threads||Batch 2ms||Group 10ms||
> |1|192|103|
> |2|163|212|
> |4|264|416|
> |8|454|800|
> |16|744|1311|
> |32|1151|1481|
> |64|1767|1844|
> |128|2949|3011|
> |256|4723|5000|
> h6. UPDATE / sec
> ||\# of threads||Batch 2ms||Group 10ms||
> |1|45|26|
> |2|39|51|
> |4|58|102|
> |8|102|198|
> |16|167|213|
> |32|289|295|
> |64|544|548|
> |128|1046|1058|
> |256|2020|2061|



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-13530) GroupCommitLogService

2017-10-05 Thread Hiroyuki Yamada (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13530?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16193849#comment-16193849
 ] 

Hiroyuki Yamada commented on CASSANDRA-13530:
-

Thank you for thinking about it seriously > [~aweisberg]
Thank you for the good proposal > [~yuji]

Personally, Having commitlog_sync_group_window_in_ms in the config sounds good 
to me, but no problem in the alternative way as well.


> GroupCommitLogService
> -
>
> Key: CASSANDRA-13530
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13530
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Yuji Ito
>Assignee: Yuji Ito
> Fix For: 2.2.x, 3.0.x, 3.11.x
>
> Attachments: groupAndBatch.png, groupCommit22.patch, 
> groupCommit30.patch, groupCommit3x.patch, 
> groupCommitLog_noSerial_result.xlsx, groupCommitLog_result.xlsx, 
> GuavaRequestThread.java, MicroRequestThread.java
>
>
> I propose a new CommitLogService, GroupCommitLogService, to improve the 
> throughput when lots of requests are received.
> It improved the throughput by maximum 94%.
> I'd like to discuss about this CommitLogService.
> Currently, we can select either 2 CommitLog services; Periodic and Batch.
> In Periodic, we might lose some commit log which hasn't written to the disk.
> In Batch, we can write commit log to the disk every time. The size of commit 
> log to write is too small (< 4KB). When high concurrency, these writes are 
> gathered and persisted to the disk at once. But, when insufficient 
> concurrency, many small writes are issued and the performance decreases due 
> to the latency of the disk. Even if you use SSD, processes of many IO 
> commands decrease the performance.
> GroupCommitLogService writes some commitlog to the disk at once.
> The patch adds GroupCommitLogService (It is enabled by setting 
> `commitlog_sync` and `commitlog_sync_group_window_in_ms` in cassandra.yaml).
> The difference from Batch is just only waiting for the semaphore.
> By waiting for the semaphore, some writes for commit logs are executed at the 
> same time.
> In GroupCommitLogService, the latency becomes worse if the there is no 
> concurrency.
> I measured the performance with my microbench (MicroRequestThread.java) by 
> increasing the number of threads.The cluster has 3 nodes (Replication factor: 
> 3). Each nodes is AWS EC2 m4.large instance + 200IOPS io1 volume.
> The result is as below. The GroupCommitLogService with 10ms window improved 
> update with Paxos by 94% and improved select with Paxos by 76%.
> h6. SELECT / sec
> ||\# of threads||Batch 2ms||Group 10ms||
> |1|192|103|
> |2|163|212|
> |4|264|416|
> |8|454|800|
> |16|744|1311|
> |32|1151|1481|
> |64|1767|1844|
> |128|2949|3011|
> |256|4723|5000|
> h6. UPDATE / sec
> ||\# of threads||Batch 2ms||Group 10ms||
> |1|45|26|
> |2|39|51|
> |4|58|102|
> |8|102|198|
> |16|167|213|
> |32|289|295|
> |64|544|548|
> |128|1046|1058|
> |256|2020|2061|



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-13442) Support a means of strongly consistent highly available replication with tunable storage requirements

2017-10-05 Thread DOAN DuyHai (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16193359#comment-16193359
 ] 

DOAN DuyHai commented on CASSANDRA-13442:
-

Waouh, thank you [~aweisberg] for the so detailed answer! I'm going to take 
time to digest through all this.

> Support a means of strongly consistent highly available replication with 
> tunable storage requirements
> -
>
> Key: CASSANDRA-13442
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13442
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Compaction, Coordination, Distributed Metadata, Local 
> Write-Read Paths
>Reporter: Ariel Weisberg
>
> Replication factors like RF=2 can't provide strong consistency and 
> availability because if a single node is lost it's impossible to reach a 
> quorum of replicas. Stepping up to RF=3 will allow you to lose a node and 
> still achieve quorum for reads and writes, but requires committing additional 
> storage.
> The requirement of a quorum for writes/reads doesn't seem to be something 
> that can be relaxed without additional constraints on queries, but it seems 
> like it should be possible to relax the requirement that 3 full copies of the 
> entire data set are kept. What is actually required is a covering data set 
> for the range and we should be able to achieve a covering data set and high 
> availability without having three full copies. 
> After a repair we know that some subset of the data set is fully replicated. 
> At that point we don't have to read from a quorum of nodes for the repaired 
> data. It is sufficient to read from a single node for the repaired data and a 
> quorum of nodes for the unrepaired data.
> One way to exploit this would be to have N replicas, say the last N replicas 
> (where N varies with RF) in the preference list, delete all repaired data 
> after a repair completes. Subsequent quorum reads will be able to retrieve 
> the repaired data from any of the two full replicas and the unrepaired data 
> from a quorum read of any replica including the "transient" replicas.
> Configuration for something like this in NTS might be something similar to { 
> DC1="3-1", DC2="3-2" } where the first value is the replication factor used 
> for consistency and the second values is the number of transient replicas. If 
> you specify { DC1=3, DC2=3 } then the number of transient replicas defaults 
> to 0 and you get the same behavior you have today.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-13813) Don't let user drop (or generally break) tables in system_distributed

2017-10-05 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13813?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-13813:
--
Status: Patch Available  (was: In Progress)

> Don't let user drop (or generally break) tables in system_distributed
> -
>
> Key: CASSANDRA-13813
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13813
> Project: Cassandra
>  Issue Type: Bug
>  Components: Distributed Metadata
>Reporter: Sylvain Lebresne
>Assignee: Aleksey Yeschenko
> Fix For: 3.0.x, 3.11.x
>
>
> There is not currently no particular restrictions on schema modifications to 
> tables of the {{system_distributed}} keyspace. This does mean you can drop 
> those tables, or even alter them in wrong ways like dropping or renaming 
> columns. All of which is guaranteed to break stuffs (that is, repair if you 
> mess up with on of it's table, or MVs if you mess up with 
> {{view_build_status}}).
> I'm pretty sure this was never intended and is an oversight of the condition 
> on {{ALTERABLE_SYSTEM_KEYSPACES}} in 
> [ClientState|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/ClientState.java#L397].
>  That condition is such that any keyspace not listed in 
> {{ALTERABLE_SYSTEM_KEYSPACES}} (which happens to be the case for 
> {{system_distributed}}) has no specific restrictions whatsoever, while given 
> the naming it's fair to assume the intention that exactly the opposite.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-13813) Don't let user drop (or generally break) tables in system_distributed

2017-10-05 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13813?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16193296#comment-16193296
 ] 

Aleksey Yeschenko commented on CASSANDRA-13813:
---

Fixes for [3.0|https://github.com/iamaleksey/cassandra/tree/13813-3.0], 
[3.11|https://github.com/iamaleksey/cassandra/tree/13813-3.11], 
[4.0|https://github.com/iamaleksey/cassandra/tree/13813-4.0] and a new 
[dtest|https://github.com/iamaleksey/cassandra-dtest/tree/13813].

Utests and dtests queued up.

[~slebresne] Any chance you could review? I've implemented what we talked about 
on IRC - and renamed some confusingly named things while at it.

> Don't let user drop (or generally break) tables in system_distributed
> -
>
> Key: CASSANDRA-13813
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13813
> Project: Cassandra
>  Issue Type: Bug
>  Components: Distributed Metadata
>Reporter: Sylvain Lebresne
>Assignee: Aleksey Yeschenko
> Fix For: 3.0.x, 3.11.x
>
>
> There is not currently no particular restrictions on schema modifications to 
> tables of the {{system_distributed}} keyspace. This does mean you can drop 
> those tables, or even alter them in wrong ways like dropping or renaming 
> columns. All of which is guaranteed to break stuffs (that is, repair if you 
> mess up with on of it's table, or MVs if you mess up with 
> {{view_build_status}}).
> I'm pretty sure this was never intended and is an oversight of the condition 
> on {{ALTERABLE_SYSTEM_KEYSPACES}} in 
> [ClientState|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/ClientState.java#L397].
>  That condition is such that any keyspace not listed in 
> {{ALTERABLE_SYSTEM_KEYSPACES}} (which happens to be the case for 
> {{system_distributed}}) has no specific restrictions whatsoever, while given 
> the naming it's fair to assume the intention that exactly the opposite.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-13850) Modifying "cassandra-env.sh"

2017-10-05 Thread Chris Lohfink (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13850?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16193250#comment-16193250
 ] 

Chris Lohfink commented on CASSANDRA-13850:
---

if someone uncommented out the jvm.options line and changed it would it be 
later command line arg and take effect still?

> Modifying "cassandra-env.sh"
> 
>
> Key: CASSANDRA-13850
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13850
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Amitkumar Ghatwal
> Fix For: 4.x
>
>
> Hi All,
> Added support for arch in "cassandra-env.sh " with PR  : 
> https://github.com/apache/cassandra/pull/149
> Regards,
> Amit



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-13442) Support a means of strongly consistent highly available replication with tunable storage requirements

2017-10-05 Thread Ariel Weisberg (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13442?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16193204#comment-16193204
 ] 

Ariel Weisberg commented on CASSANDRA-13442:


There is a design doc with a lot more details, especially on incremental repair 
based transient replication, and I will try and make that available.

bq. Now reasoning with CL from the client POV is no longer straightforward, the 
client should know which replica(s) are fully repaired and which are not.
>From the client's perspective the behavior is the same except for CL.ONE (and 
>maybe TWO and THREE) as you point out later. For many permutations of full and 
>transient replicas the guarantees in terms of surviving failures don't change 
>at all. RF=3 with 3 full replicas seeking strong consistency with quorum can 
>only survive permanent loss of one node with no data loss or availability 
>loss. Having 1 transient replica doesn't change that equation.

The server has to follow some additional rules when executing reads to ensure 
correct results, but that isn't visible to the application.

bq. Furthermore, now we need to keep meta data about repaired and unrepaired 
range of data.
Yes you would need some combination of metadata and data organization. This is 
something we are doing today with incremental repair via anti-compaction so 
this wouldn't be entirely new functionality. If you are already running 
incremental repair it's basically free. In fact it's a cost savings because 
there is less anti-compaction work as transient replicas can discard data 
instead of writing it during anti-compaction.

Tracking repaired/unrepaired data (or anti-compacting) is also not the only way 
to implement a transient replica. You could for instance make hints replicated, 
durable, and readable and have replicas that only contains hints until they are 
delivered. There was some discussion at NGCC about various ways to store things 
that kind of seem like hints but have those properties. Those are important for 
people who don't run repair.  CASSANDRA-13924 is kind of one of them although 
it's formulated to not be a replica or even a hint, but it's storage could be.

bq. how do we reason with CL like global multi-DC QUORUM and EACH_QUORUM for 
reads ?
One full replica and the remaining replicas can be transient. Always just one 
full replica.

With transient replication you get the same result as long as you include a 
full replica as would have been included if you hadn't read from transient 
replication. Repair is synchronizing action across all replicas right now so 
LOCAL and EACH or QUORUM etc. all work the same. If repair were made more 
flexible (and highly available) the rules might end up being different with 
more full replicas required.

bq. Failure of replica is now asymmetric too for reads. A failed transient 
replica is a no brainer. A failed consistent replica(s) is a bigger issue. With 
classic replication CL=ONE guarantee you to be highly available in the face of 
2 failed replicas. Now having 2 failed consistent replicas, since the repaired 
data has been deleted on the transient replica, the CL=ONE contract is broken 
...
I wouldn't say the contract is broken given how your keyspace was configured. 
You lose availability, but you are still returning correct results. If that is 
a tradeoff you don't want to make then you are free to continue running with no 
transient replicas which would be the default. If you are operating at CL.ONE 
it seems like you are already not seeking either strong consistency or write 
availability (writing at CL.ALL) so you don't need transient replication at all 
because you can run with whatever RF you want.

You don't have to make a decision about the tradeoff unless you want the 
savings associated with having transient replicas. I'd say that's a pretty fair 
pay for what you use scenario.

bq. how to manage bootstrap of new node(s) ? Is the new node(s) considered 
transient for all ranges until at least one round of repair has finished ? 
Obviously bootstrapping new node(s) by streaming data from consistent replicas 
will make more sense for repaired data but in this case the bootstrap process 
itself need to be repair-aware
Bootstrapping nodes already have a pending state. If a node is fully 
replicating a range there is no change in behavior. Transient replicas would 
remain pending for transient ranges until a repair is run. If you are running 
incremental repair then you are probably running it quite frequently so the 
node won't be pending for an excessive amount of time. The bigger caveat is 
that incremental repair has to be able to run which means no down nodes and no 
partitioned DCs. Not having to figure out how to relax restrictions on running 
incremental repair is one reason alternative implementations of transient 
replicas are attractive.

Bootstrapping and most instances of streaming already have 

[jira] [Commented] (CASSANDRA-13938) Default repair is broken, crashes other nodes participating in repair (in trunk)

2017-10-05 Thread Jason Brown (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16193127#comment-16193127
 ] 

Jason Brown commented on CASSANDRA-13938:
-

[~zznate] thanks for detailed steps to create the error. I am able to 
reproduce, and am digging in now.

> Default repair is broken, crashes other nodes participating in repair (in 
> trunk)
> 
>
> Key: CASSANDRA-13938
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13938
> Project: Cassandra
>  Issue Type: Bug
>  Components: Repair
>Reporter: Nate McCall
>Assignee: Jason Brown
>Priority: Critical
>
> Running through a simple scenario to test some of the new repair features, I 
> was not able to make a repair command work. Further, the exception seemed to 
> trigger a nasty failure state that basically shuts down the netty connections 
> for messaging *and* CQL on the nodes transferring back data to the node being 
> repaired. The following steps reproduce this issue consistently.
> Cassandra stress profile (probably not necessary, but this one provides a 
> really simple schema and consistent data shape):
> {noformat}
> keyspace: standard_long
> keyspace_definition: |
>   CREATE KEYSPACE standard_long WITH replication = {'class':'SimpleStrategy', 
> 'replication_factor':3};
> table: test_data
> table_definition: |
>   CREATE TABLE test_data (
>   key text,
>   ts bigint,
>   val text,
>   PRIMARY KEY (key, ts)
>   ) WITH COMPACT STORAGE AND
>   CLUSTERING ORDER BY (ts DESC) AND
>   bloom_filter_fp_chance=0.01 AND
>   caching={'keys':'ALL', 'rows_per_partition':'NONE'} AND
>   comment='' AND
>   dclocal_read_repair_chance=0.00 AND
>   gc_grace_seconds=864000 AND
>   read_repair_chance=0.00 AND
>   compaction={'class': 'SizeTieredCompactionStrategy'} AND
>   compression={'sstable_compression': 'LZ4Compressor'};
> columnspec:
>   - name: key
> population: uniform(1..5000) # 50 million records available
>   - name: ts
> cluster: gaussian(1..50) # Up to 50 inserts per record
>   - name: val
> population: gaussian(128..1024) # varrying size of value data
> insert:
>   partitions: fixed(1) # only one insert per batch for individual partitions
>   select: fixed(1)/1 # each insert comes in one at a time
>   batchtype: UNLOGGED
> queries:
>   single:
> cql: select * from test_data where key = ? and ts = ? limit 1;
>   series:
> cql: select key,ts,val from test_data where key = ? limit 10;
> {noformat}
> The commands to build and run:
> {noformat}
> ccm create 4_0_test -v git:trunk -n 3 -s
> ccm stress user profile=./histo-test-schema.yml 
> ops\(insert=20,single=1,series=1\) duration=15s -rate threads=4
> # flush the memtable just to get everything on disk
> ccm node1 nodetool flush
> ccm node2 nodetool flush
> ccm node3 nodetool flush
> # disable hints for nodes 2 and 3
> ccm node2 nodetool disablehandoff
> ccm node3 nodetool disablehandoff
> # stop node1
> ccm node1 stop
> ccm stress user profile=./histo-test-schema.yml 
> ops\(insert=20,single=1,series=1\) duration=45s -rate threads=4
> # wait 10 seconds
> ccm node1 start
> # Note that we are local to ccm's nodetool install 'cause repair preview is 
> not reported yet
> node1/bin/nodetool repair --preview
> node1/bin/nodetool repair standard_long test_data
> {noformat} 
> The error outputs from the last repair command follow. First, this is stdout 
> from node1:
> {noformat}
> $ node1/bin/nodetool repair standard_long test_data
> objc[47876]: Class JavaLaunchHelper is implemented in both 
> /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/java 
> (0x10274d4c0) and 
> /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/jre/lib/libinstrument.dylib
>  (0x1047b64e0). One of the two will be used. Which one is undefined.
> [2017-10-05 14:31:52,425] Starting repair command #4 
> (7e1a9150-a98e-11e7-ad86-cbd2801b8de2), repairing keyspace standard_long with 
> repair options (parallelism: parallel, primary range: false, incremental: 
> true, job threads: 1, ColumnFamilies: [test_data], dataCenters: [], hosts: 
> [], previewKind: NONE, # of ranges: 3, pull repair: false, force repair: 
> false)
> [2017-10-05 14:32:07,045] Repair session 7e2e8e80-a98e-11e7-ad86-cbd2801b8de2 
> for range [(3074457345618258602,-9223372036854775808], 
> (-9223372036854775808,-3074457345618258603], 
> (-3074457345618258603,3074457345618258602]] failed with error Stream failed
> [2017-10-05 14:32:07,048] null
> [2017-10-05 14:32:07,050] Repair command #4 finished in 14 seconds
> error: Repair job has failed with the error message: [2017-10-05 
> 14:32:07,048] null
> -- StackTrace --
> java.lang.RuntimeException: Repair job has failed with the error message: 
> [2017-10-05 14:32:07,048] null
> at 

[19/19] cassandra git commit: Merge branch 'cassandra-3.11' into trunk

2017-10-05 Thread mshuler
Merge branch 'cassandra-3.11' into trunk


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c9c792d5
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c9c792d5
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c9c792d5

Branch: refs/heads/trunk
Commit: c9c792d54136b3a5728304c9f09aabdd31cf6371
Parents: 9a47974 710657d
Author: Michael Shuler 
Authored: Thu Oct 5 10:24:10 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:24:10 2017 -0500

--

--



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[09/19] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2017-10-05 Thread mshuler
Merge branch 'cassandra-2.1' into cassandra-2.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bf7caaa2
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bf7caaa2
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bf7caaa2

Branch: refs/heads/cassandra-3.11
Commit: bf7caaa2a1ff3ff2c9ddbede9e7080ae0d8dc3f3
Parents: c510e00 d4fd82b
Author: Michael Shuler 
Authored: Thu Oct 5 10:20:28 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:20:28 2017 -0500

--

--



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[11/19] cassandra git commit: Update version to 2.2.12

2017-10-05 Thread mshuler
Update version to 2.2.12


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/797de4ae
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/797de4ae
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/797de4ae

Branch: refs/heads/cassandra-3.11
Commit: 797de4ae3c6cb49f54c15d0025a4198226cdf494
Parents: bf7caaa
Author: Michael Shuler 
Authored: Thu Oct 5 10:22:46 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:22:46 2017 -0500

--
 CHANGES.txt  | 3 +++
 NEWS.txt | 8 
 build.xml| 2 +-
 debian/changelog | 6 ++
 4 files changed, 18 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0b3421f..752cbdc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,6 @@
+2.2.12
+ * 
+
 2.2.11
  * Safely handle empty buffers when outputting to JSON (CASSANDRA-13868)
  * Copy session properties on cqlsh.py do_login (CASSANDRA-13847)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 37ffb8b..3bff458 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,14 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+2.2.12
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 2.2 if you are upgrading
+  from a previous version.
+
 2.2.11
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/build.xml
--
diff --git a/build.xml b/build.xml
index 38c7d24..43057dc 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>

http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index c626325..46d9e50 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (2.2.12) unstable; urgency=medium
+
+  * New release
+
+ -- Michael Shuler   Thu, 05 Oct 2017 10:21:40 -0500
+
 cassandra (2.2.11) unstable; urgency=medium
 
   * New release


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[06/19] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2017-10-05 Thread mshuler
Merge branch 'cassandra-2.1' into cassandra-2.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bf7caaa2
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bf7caaa2
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bf7caaa2

Branch: refs/heads/cassandra-3.0
Commit: bf7caaa2a1ff3ff2c9ddbede9e7080ae0d8dc3f3
Parents: c510e00 d4fd82b
Author: Michael Shuler 
Authored: Thu Oct 5 10:20:28 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:20:28 2017 -0500

--

--



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[17/19] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

2017-10-05 Thread mshuler
Merge branch 'cassandra-3.0' into cassandra-3.11


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/710657d8
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/710657d8
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/710657d8

Branch: refs/heads/trunk
Commit: 710657d82c6714ea959d15a70ad05569d90e2ab2
Parents: 12a09ec c074412
Author: Michael Shuler 
Authored: Thu Oct 5 10:23:44 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:23:44 2017 -0500

--

--



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[10/19] cassandra git commit: Update version to 2.2.12

2017-10-05 Thread mshuler
Update version to 2.2.12


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/797de4ae
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/797de4ae
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/797de4ae

Branch: refs/heads/cassandra-3.0
Commit: 797de4ae3c6cb49f54c15d0025a4198226cdf494
Parents: bf7caaa
Author: Michael Shuler 
Authored: Thu Oct 5 10:22:46 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:22:46 2017 -0500

--
 CHANGES.txt  | 3 +++
 NEWS.txt | 8 
 build.xml| 2 +-
 debian/changelog | 6 ++
 4 files changed, 18 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0b3421f..752cbdc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,6 @@
+2.2.12
+ * 
+
 2.2.11
  * Safely handle empty buffers when outputting to JSON (CASSANDRA-13868)
  * Copy session properties on cqlsh.py do_login (CASSANDRA-13847)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 37ffb8b..3bff458 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,14 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+2.2.12
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 2.2 if you are upgrading
+  from a previous version.
+
 2.2.11
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/build.xml
--
diff --git a/build.xml b/build.xml
index 38c7d24..43057dc 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>

http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index c626325..46d9e50 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (2.2.12) unstable; urgency=medium
+
+  * New release
+
+ -- Michael Shuler   Thu, 05 Oct 2017 10:21:40 -0500
+
 cassandra (2.2.11) unstable; urgency=medium
 
   * New release


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[14/19] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2017-10-05 Thread mshuler
Merge branch 'cassandra-2.2' into cassandra-3.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c0744125
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c0744125
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c0744125

Branch: refs/heads/trunk
Commit: c07441251335b0c305f7c674ead58cd5fb898e7f
Parents: e400b97 797de4a
Author: Michael Shuler 
Authored: Thu Oct 5 10:23:15 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:23:15 2017 -0500

--

--



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[07/19] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2017-10-05 Thread mshuler
Merge branch 'cassandra-2.1' into cassandra-2.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bf7caaa2
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bf7caaa2
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bf7caaa2

Branch: refs/heads/trunk
Commit: bf7caaa2a1ff3ff2c9ddbede9e7080ae0d8dc3f3
Parents: c510e00 d4fd82b
Author: Michael Shuler 
Authored: Thu Oct 5 10:20:28 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:20:28 2017 -0500

--

--



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[03/19] cassandra git commit: Update version to 2.1.20

2017-10-05 Thread mshuler
Update version to 2.1.20


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d4fd82be
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d4fd82be
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d4fd82be

Branch: refs/heads/cassandra-2.2
Commit: d4fd82be5d755c94ccc4354428b517ab88da960b
Parents: 428eaa3
Author: Michael Shuler 
Authored: Thu Oct 5 10:19:50 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:19:50 2017 -0500

--
 CHANGES.txt  | 3 +++
 NEWS.txt | 8 
 build.xml| 2 +-
 debian/changelog | 6 ++
 4 files changed, 18 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 848628b..b4e6f75 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,6 @@
+2.1.20
+ * 
+
 2.1.19
  * Add storage port options to sstableloader (CASSANDRA-13844)
  * Remove stress-test target in CircleCI as it's not existing 
(CASSANDRA-13775) 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 3e4a578..796a424 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,14 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+2.1.20
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 2.1 if you are upgrading
+  from a previous version.
+
 2.1.19
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/build.xml
--
diff --git a/build.xml b/build.xml
index e5ab405..3ac2665 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index 64ab954..5b22031 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (2.1.20) unstable; urgency=medium
+
+  * New release
+
+ -- Michael Shuler   Thu, 05 Oct 2017 10:18:22 -0500
+
 cassandra (2.1.19) unstable; urgency=medium
 
   * New release


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[05/19] cassandra git commit: Update version to 2.1.20

2017-10-05 Thread mshuler
Update version to 2.1.20


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d4fd82be
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d4fd82be
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d4fd82be

Branch: refs/heads/trunk
Commit: d4fd82be5d755c94ccc4354428b517ab88da960b
Parents: 428eaa3
Author: Michael Shuler 
Authored: Thu Oct 5 10:19:50 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:19:50 2017 -0500

--
 CHANGES.txt  | 3 +++
 NEWS.txt | 8 
 build.xml| 2 +-
 debian/changelog | 6 ++
 4 files changed, 18 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 848628b..b4e6f75 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,6 @@
+2.1.20
+ * 
+
 2.1.19
  * Add storage port options to sstableloader (CASSANDRA-13844)
  * Remove stress-test target in CircleCI as it's not existing 
(CASSANDRA-13775) 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 3e4a578..796a424 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,14 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+2.1.20
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 2.1 if you are upgrading
+  from a previous version.
+
 2.1.19
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/build.xml
--
diff --git a/build.xml b/build.xml
index e5ab405..3ac2665 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index 64ab954..5b22031 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (2.1.20) unstable; urgency=medium
+
+  * New release
+
+ -- Michael Shuler   Thu, 05 Oct 2017 10:18:22 -0500
+
 cassandra (2.1.19) unstable; urgency=medium
 
   * New release


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[08/19] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2017-10-05 Thread mshuler
Merge branch 'cassandra-2.1' into cassandra-2.2


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bf7caaa2
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bf7caaa2
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bf7caaa2

Branch: refs/heads/cassandra-2.2
Commit: bf7caaa2a1ff3ff2c9ddbede9e7080ae0d8dc3f3
Parents: c510e00 d4fd82b
Author: Michael Shuler 
Authored: Thu Oct 5 10:20:28 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:20:28 2017 -0500

--

--



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[04/19] cassandra git commit: Update version to 2.1.20

2017-10-05 Thread mshuler
Update version to 2.1.20


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d4fd82be
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d4fd82be
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d4fd82be

Branch: refs/heads/cassandra-3.0
Commit: d4fd82be5d755c94ccc4354428b517ab88da960b
Parents: 428eaa3
Author: Michael Shuler 
Authored: Thu Oct 5 10:19:50 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:19:50 2017 -0500

--
 CHANGES.txt  | 3 +++
 NEWS.txt | 8 
 build.xml| 2 +-
 debian/changelog | 6 ++
 4 files changed, 18 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 848628b..b4e6f75 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,6 @@
+2.1.20
+ * 
+
 2.1.19
  * Add storage port options to sstableloader (CASSANDRA-13844)
  * Remove stress-test target in CircleCI as it's not existing 
(CASSANDRA-13775) 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 3e4a578..796a424 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,14 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+2.1.20
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 2.1 if you are upgrading
+  from a previous version.
+
 2.1.19
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/build.xml
--
diff --git a/build.xml b/build.xml
index e5ab405..3ac2665 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index 64ab954..5b22031 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (2.1.20) unstable; urgency=medium
+
+  * New release
+
+ -- Michael Shuler   Thu, 05 Oct 2017 10:18:22 -0500
+
 cassandra (2.1.19) unstable; urgency=medium
 
   * New release


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[02/19] cassandra git commit: Update version to 2.1.20

2017-10-05 Thread mshuler
Update version to 2.1.20


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d4fd82be
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d4fd82be
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d4fd82be

Branch: refs/heads/cassandra-3.11
Commit: d4fd82be5d755c94ccc4354428b517ab88da960b
Parents: 428eaa3
Author: Michael Shuler 
Authored: Thu Oct 5 10:19:50 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:19:50 2017 -0500

--
 CHANGES.txt  | 3 +++
 NEWS.txt | 8 
 build.xml| 2 +-
 debian/changelog | 6 ++
 4 files changed, 18 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 848628b..b4e6f75 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,6 @@
+2.1.20
+ * 
+
 2.1.19
  * Add storage port options to sstableloader (CASSANDRA-13844)
  * Remove stress-test target in CircleCI as it's not existing 
(CASSANDRA-13775) 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 3e4a578..796a424 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,14 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+2.1.20
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 2.1 if you are upgrading
+  from a previous version.
+
 2.1.19
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/build.xml
--
diff --git a/build.xml b/build.xml
index e5ab405..3ac2665 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index 64ab954..5b22031 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (2.1.20) unstable; urgency=medium
+
+  * New release
+
+ -- Michael Shuler   Thu, 05 Oct 2017 10:18:22 -0500
+
 cassandra (2.1.19) unstable; urgency=medium
 
   * New release


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[16/19] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2017-10-05 Thread mshuler
Merge branch 'cassandra-2.2' into cassandra-3.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c0744125
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c0744125
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c0744125

Branch: refs/heads/cassandra-3.11
Commit: c07441251335b0c305f7c674ead58cd5fb898e7f
Parents: e400b97 797de4a
Author: Michael Shuler 
Authored: Thu Oct 5 10:23:15 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:23:15 2017 -0500

--

--



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[18/19] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

2017-10-05 Thread mshuler
Merge branch 'cassandra-3.0' into cassandra-3.11


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/710657d8
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/710657d8
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/710657d8

Branch: refs/heads/cassandra-3.11
Commit: 710657d82c6714ea959d15a70ad05569d90e2ab2
Parents: 12a09ec c074412
Author: Michael Shuler 
Authored: Thu Oct 5 10:23:44 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:23:44 2017 -0500

--

--



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[15/19] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2017-10-05 Thread mshuler
Merge branch 'cassandra-2.2' into cassandra-3.0


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c0744125
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c0744125
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c0744125

Branch: refs/heads/cassandra-3.0
Commit: c07441251335b0c305f7c674ead58cd5fb898e7f
Parents: e400b97 797de4a
Author: Michael Shuler 
Authored: Thu Oct 5 10:23:15 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:23:15 2017 -0500

--

--



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[13/19] cassandra git commit: Update version to 2.2.12

2017-10-05 Thread mshuler
Update version to 2.2.12


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/797de4ae
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/797de4ae
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/797de4ae

Branch: refs/heads/trunk
Commit: 797de4ae3c6cb49f54c15d0025a4198226cdf494
Parents: bf7caaa
Author: Michael Shuler 
Authored: Thu Oct 5 10:22:46 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:22:46 2017 -0500

--
 CHANGES.txt  | 3 +++
 NEWS.txt | 8 
 build.xml| 2 +-
 debian/changelog | 6 ++
 4 files changed, 18 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0b3421f..752cbdc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,6 @@
+2.2.12
+ * 
+
 2.2.11
  * Safely handle empty buffers when outputting to JSON (CASSANDRA-13868)
  * Copy session properties on cqlsh.py do_login (CASSANDRA-13847)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 37ffb8b..3bff458 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,14 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+2.2.12
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 2.2 if you are upgrading
+  from a previous version.
+
 2.2.11
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/build.xml
--
diff --git a/build.xml b/build.xml
index 38c7d24..43057dc 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>

http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index c626325..46d9e50 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (2.2.12) unstable; urgency=medium
+
+  * New release
+
+ -- Michael Shuler   Thu, 05 Oct 2017 10:21:40 -0500
+
 cassandra (2.2.11) unstable; urgency=medium
 
   * New release


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[12/19] cassandra git commit: Update version to 2.2.12

2017-10-05 Thread mshuler
Update version to 2.2.12


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/797de4ae
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/797de4ae
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/797de4ae

Branch: refs/heads/cassandra-2.2
Commit: 797de4ae3c6cb49f54c15d0025a4198226cdf494
Parents: bf7caaa
Author: Michael Shuler 
Authored: Thu Oct 5 10:22:46 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:22:46 2017 -0500

--
 CHANGES.txt  | 3 +++
 NEWS.txt | 8 
 build.xml| 2 +-
 debian/changelog | 6 ++
 4 files changed, 18 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0b3421f..752cbdc 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,6 @@
+2.2.12
+ * 
+
 2.2.11
  * Safely handle empty buffers when outputting to JSON (CASSANDRA-13868)
  * Copy session properties on cqlsh.py do_login (CASSANDRA-13847)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 37ffb8b..3bff458 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,14 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+2.2.12
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 2.2 if you are upgrading
+  from a previous version.
+
 2.2.11
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/build.xml
--
diff --git a/build.xml b/build.xml
index 38c7d24..43057dc 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>

http://git-wip-us.apache.org/repos/asf/cassandra/blob/797de4ae/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index c626325..46d9e50 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (2.2.12) unstable; urgency=medium
+
+  * New release
+
+ -- Michael Shuler   Thu, 05 Oct 2017 10:21:40 -0500
+
 cassandra (2.2.11) unstable; urgency=medium
 
   * New release


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[01/19] cassandra git commit: Update version to 2.1.20

2017-10-05 Thread mshuler
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 428eaa3e3 -> d4fd82be5
  refs/heads/cassandra-2.2 c510e0014 -> 797de4ae3
  refs/heads/cassandra-3.0 e400b9767 -> c07441251
  refs/heads/cassandra-3.11 12a09ec3f -> 710657d82
  refs/heads/trunk 9a47974d6 -> c9c792d54


Update version to 2.1.20


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d4fd82be
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d4fd82be
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d4fd82be

Branch: refs/heads/cassandra-2.1
Commit: d4fd82be5d755c94ccc4354428b517ab88da960b
Parents: 428eaa3
Author: Michael Shuler 
Authored: Thu Oct 5 10:19:50 2017 -0500
Committer: Michael Shuler 
Committed: Thu Oct 5 10:19:50 2017 -0500

--
 CHANGES.txt  | 3 +++
 NEWS.txt | 8 
 build.xml| 2 +-
 debian/changelog | 6 ++
 4 files changed, 18 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 848628b..b4e6f75 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,3 +1,6 @@
+2.1.20
+ * 
+
 2.1.19
  * Add storage port options to sstableloader (CASSANDRA-13844)
  * Remove stress-test target in CircleCI as it's not existing 
(CASSANDRA-13775) 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 3e4a578..796a424 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -13,6 +13,14 @@ restore snapshots created with the previous major version 
using the
 'sstableloader' tool. You can upgrade the file format of your snapshots
 using the provided 'sstableupgrade' tool.
 
+2.1.20
+==
+
+Upgrading
+-
+- Nothing specific to this release, but please see 2.1 if you are upgrading
+  from a previous version.
+
 2.1.19
 ==
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/build.xml
--
diff --git a/build.xml b/build.xml
index e5ab405..3ac2665 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
 
 
 
-
+
 
 
 http://git-wip-us.apache.org/repos/asf?p=cassandra.git;a=tree"/>

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4fd82be/debian/changelog
--
diff --git a/debian/changelog b/debian/changelog
index 64ab954..5b22031 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+cassandra (2.1.20) unstable; urgency=medium
+
+  * New release
+
+ -- Michael Shuler   Thu, 05 Oct 2017 10:18:22 -0500
+
 cassandra (2.1.19) unstable; urgency=medium
 
   * New release


-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Comment Edited] (CASSANDRA-13935) Indexes creation should have IF EXISTS on its String representation

2017-10-05 Thread Javier Canillas (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16192889#comment-16192889
 ] 

Javier Canillas edited comment on CASSANDRA-13935 at 10/5/17 1:41 PM:
--

Patch for cassandra trunk version attached  (although you can fast-foward the 
3.0 patch), You can also see changes on my forked repository: 
https://github.com/javiercanillas/cassandra/tree/13935-trunk


was (Author: kani):
Patch for cassandra trunk version attached, You can also see changes on my 
forked repository: https://github.com/javiercanillas/cassandra/tree/13935-trunk

> Indexes creation should have IF EXISTS on its String representation
> ---
>
> Key: CASSANDRA-13935
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13935
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL, Secondary Indexes
> Environment: Ubuntu 16.04.2 LTS
> java version "1.8.0_144"
> Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
> Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
>Reporter: Javier Canillas
>Priority: Trivial
> Fix For: 3.11.x
>
> Attachments: 13935-3.0.txt, 13935-3.11.txt, 13935-trunk.txt
>
>
> I came across something that bothers me a lot. I'm using snapshots to backup 
> data from my Cassandra cluster in case something really bad happens (like 
> dropping a table or a keyspace).
> Exercising the recovery actions from those backups, I discover that the 
> schema put on the file "schema.cql" as a result of the snapshot has the 
> "CREATE IF NOT EXISTS" for the table, but not for the indexes.
> When restoring from snapshots, and relying on the execution of these schemas 
> to build up the table structure, everything seems fine for tables without 
> secondary indexes, but for the ones that make use of them, the execution of 
> these statements fail miserably.
> Here I paste a generated schema.cql content for a table with indexes:
> CREATE TABLE IF NOT EXISTS keyspace1.table1 (
>   id text PRIMARY KEY,
>   content text,
>   last_update_date date,
>   last_update_date_time timestamp)
>   WITH ID = f1045fc0-2f59-11e7-95ec-295c3c064920
>   AND bloom_filter_fp_chance = 0.01
>   AND dclocal_read_repair_chance = 0.1
>   AND crc_check_chance = 1.0
>   AND default_time_to_live = 864
>   AND gc_grace_seconds = 864000
>   AND min_index_interval = 128
>   AND max_index_interval = 2048
>   AND memtable_flush_period_in_ms = 0
>   AND read_repair_chance = 0.0
>   AND speculative_retry = '99PERCENTILE'
>   AND caching = { 'keys': 'NONE', 'rows_per_partition': 'NONE' }
>   AND compaction = { 'max_threshold': '32', 'min_threshold': '4', 
> 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' }
>   AND compression = { 'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor' }
>   AND cdc = false
>   AND extensions = {  };
> CREATE INDEX table1_last_update_date_idx ON keyspace1.table1 
> (last_update_date);
> I think the last part should be:
> CREATE INDEX IF NOT EXISTS table1_last_update_date_idx ON keyspace1.table1 
> (last_update_date);



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-13935) Indexes creation should have IF EXISTS on its String representation

2017-10-05 Thread Javier Canillas (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Javier Canillas updated CASSANDRA-13935:

Attachment: 13935-trunk.txt

Patch for cassandra trunk version attached, You can also see changes on my 
forked repository: https://github.com/javiercanillas/cassandra/tree/13935-trunk

> Indexes creation should have IF EXISTS on its String representation
> ---
>
> Key: CASSANDRA-13935
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13935
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL, Secondary Indexes
> Environment: Ubuntu 16.04.2 LTS
> java version "1.8.0_144"
> Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
> Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
>Reporter: Javier Canillas
>Priority: Trivial
> Fix For: 3.11.x
>
> Attachments: 13935-3.0.txt, 13935-3.11.txt, 13935-trunk.txt
>
>
> I came across something that bothers me a lot. I'm using snapshots to backup 
> data from my Cassandra cluster in case something really bad happens (like 
> dropping a table or a keyspace).
> Exercising the recovery actions from those backups, I discover that the 
> schema put on the file "schema.cql" as a result of the snapshot has the 
> "CREATE IF NOT EXISTS" for the table, but not for the indexes.
> When restoring from snapshots, and relying on the execution of these schemas 
> to build up the table structure, everything seems fine for tables without 
> secondary indexes, but for the ones that make use of them, the execution of 
> these statements fail miserably.
> Here I paste a generated schema.cql content for a table with indexes:
> CREATE TABLE IF NOT EXISTS keyspace1.table1 (
>   id text PRIMARY KEY,
>   content text,
>   last_update_date date,
>   last_update_date_time timestamp)
>   WITH ID = f1045fc0-2f59-11e7-95ec-295c3c064920
>   AND bloom_filter_fp_chance = 0.01
>   AND dclocal_read_repair_chance = 0.1
>   AND crc_check_chance = 1.0
>   AND default_time_to_live = 864
>   AND gc_grace_seconds = 864000
>   AND min_index_interval = 128
>   AND max_index_interval = 2048
>   AND memtable_flush_period_in_ms = 0
>   AND read_repair_chance = 0.0
>   AND speculative_retry = '99PERCENTILE'
>   AND caching = { 'keys': 'NONE', 'rows_per_partition': 'NONE' }
>   AND compaction = { 'max_threshold': '32', 'min_threshold': '4', 
> 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' }
>   AND compression = { 'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor' }
>   AND cdc = false
>   AND extensions = {  };
> CREATE INDEX table1_last_update_date_idx ON keyspace1.table1 
> (last_update_date);
> I think the last part should be:
> CREATE INDEX IF NOT EXISTS table1_last_update_date_idx ON keyspace1.table1 
> (last_update_date);



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



svn commit: r22125 [2/2] - in /release/cassandra: 2.1.19/ 2.2.11/ debian/dists/21x/ debian/dists/21x/main/binary-amd64/ debian/dists/21x/main/binary-i386/ debian/dists/21x/main/source/ debian/dists/22

2017-10-05 Thread mshuler
Modified: release/cassandra/redhat/22x/repodata/repomd.xml
==
--- release/cassandra/redhat/22x/repodata/repomd.xml (original)
+++ release/cassandra/redhat/22x/repodata/repomd.xml Thu Oct  5 13:22:22 2017
@@ -1,55 +1,55 @@
 
 http://linux.duke.edu/metadata/repo; 
xmlns:rpm="http://linux.duke.edu/metadata/rpm;>
- 1502461027
+ 1507208844
 
-  86429aeadd7294922dc5e76b5e0a3da99162c24e9f12724835fae172cbb00790
-  9f54cc5deefd31a9c90db01f5fef1b86758ccb91b88e0161d2e62054365be866
-  
-  1502461028
-  2026
-  13687
+  e932f6a98973a56a1e7e86758aaf512fae6a08e48953ff4eb7c92932465c53b9
+  de353b443f776bf7f7c64e77a1518ff8ed88b290afc6f75b6a4c53d6c583
+  
+  1507208844
+  2361
+  27249
 
 
-  98688c5e74b32ca63c4da0bad59e2cd05ac53ea4c327329f9e75c7df40f2210b
-  af370ba95cca320f20033acfd79462d545038c470696dc2594cc1183b63b8bba
-  
-  1502461028
-  1610
-  7704
+  fc742615e48fb768986b727dadeb96b5a255e294796fb407d9e774cab5f4d6cf
+  f9d42ab9bdb566df91d603fc6fd87ea534420f9b16eeac2adca3e6393c299bfe
+  
+  1507208844
+  1942
+  15241
 
 
-  29ede3ea14a1c5bee9a7b0f26fd9ad0f0a2ac2879a850d741c935083ba4d5914
-  4ba34906a7cf1e6d896aad87a0f3e00d58ff15c527b717176b2a3d3c89b456c1
-  
-  1502461028
+  5db28f5a800882fa537d72c6379c8f724de79f97303f4f81e2da37a06323fd4f
+  7581961a83083cd742fc85f4a97419d718b09a06d599f8e101925ce77fe39356
+  
+  1507208844
   10
-  4348
-  30720
+  6165
+  38912
 
 
-  377176d209e1a2a3c4b616ca2f3fdae4eaae0a604134d9d3da3f0447b4b612d4
-  cf5ca8348064acc73b32232665ba85c2736bbb5b5ea173a1c18e81b9b1ca1b22
-  
-  1502461028
+  6858f7557bd0652eac312a989ea8517cf4b3bd7050afdc54c58f19672ab947c9
+  6493f5dff6fec997d88b805b69262f8467716294e4a6bbc5f8ec5116c77f2551
+  
+  1507208844
   10
-  971
+  1227
   6144
 
 
-  f791d6311e120a8470481817193a3bcf2d210292d9b7127320ff3173f3546168
-  be589a6364b3838f6df4a1f0a8b17de103c194c085dad8697153bd5d01cbc14b
-  
-  1502461028
-  443
-  1096
+  4bc374af73ab8da8fa57ea654682bd82994a7f2b2b80dca95be842943b065b4c
+  fa9037770d7f73136465a58f100f8145341ea36614687e1c56c52ac6cd404a44
+  
+  1507208844
+  585
+  2071
 
 
-  6e04fc3eddacd4121403039f1c37a828cea279d2b6f09a5d49122f82611fa3b9
-  7e456c3717073ce696bb7ca341c1a98537baa6a74cd9e60a88d58b7e2703f861
-  
-  1502461028
+  22c01f83d9818c17aa28c6a4cf9dcdb4d6f34f0830f7b2366316fddada2d1d02
+  c7aa513a6796279d0a64e48a67a9a22a0c3f18b3925d3b7f9dbd0439613829e9
+  
+  1507208844
   10
-  3308
-  13312
+  4492
+  20480
 
 

Modified: release/cassandra/redhat/22x/repodata/repomd.xml.asc
==
--- release/cassandra/redhat/22x/repodata/repomd.xml.asc (original)
+++ release/cassandra/redhat/22x/repodata/repomd.xml.asc Thu Oct  5 13:22:22 
2017
@@ -1,17 +1,17 @@
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1
 
-iQIcBAABCAAGBQJZjbyYAAoJEKJ4t4H+SyvaR3UQAKAIJ8HmqnGvAGWoIAhnpP1C
-5BxZHwDEMM/AQb+YcvtyhgM4fnFsR3ndXVN08BY0J5bCRVxQwmqcmoPt86icp02J
-izbVCU+PnwWrxZVTxgQ3j/e28ZFN2mSQnjeJx5KmOVSdMwT8Y2vqlLRsxH2gvr76
-07cyrqpIHXk3K2sWZb+4WTQ+0MvQiWXOIhca4IoRecqqW4AaV7yWyzItir6irA18
-a9Cypois/JGlxkt3n883cbZpJuDJM5WcxKaUvIR2JBAVn7O6B0UzCXtR8k7PbxEg
-G3XYy2/a2kDjgRY3q31V6/rOnQNe6entX83RamaBhhQ6/xs9O2VVbsqF8ydSl2gn
-G92eVdj4SlOcaJj4WsYP30fcdZye1dKvsx5KIrew7Vd33Ss9ZMH7OHTAK0lX1oXM
-R1qiJzQk8Dt8olaaNIr9C/3+jqTyOZDsndBIYZ6dwrj3nODXNc0CcpluhiJNJqzb
-p/hRujeqBwl8GfC6FFhV1jiKfgn6gBOfkhHMUFy5wGCcUHHMAuOMpNxOs2S3+OPz
-PHD/R56VJHmMRps3XUGYOlKfiCf7AeUJJFyUOHMKTai2D6A/sWwRMpPsoVGctmvF
-t97/kzp7RY1ePD+g+W6gY2va1B9SBc9Kl9BKgjqKp2M2IXs2+TfbRu/N0LuSs6wq
-/b+mJcf1OtWQ1BkShovr
-=OqaZ
+iQIcBAABCAAGBQJZ1i8iAAoJEKJ4t4H+SyvaweoP/Ai41A1elt3T5IFEIga6pHJM
+gyo5Zwf4D9LUUxoZSo23yhKH5J8/Ke0VjzkLc+WHLj3QJXLkDKpV7yRuOMEHSlnM
+/r5pga6BirjPGB8659iBT9CCDSfwYmyO+nQBUgCCSZp+CuIMnGQ4rawzlE827sMe
++enwvUrCCVdDw9d6wQS3whP/7ucUWLJmC+eG5fY8Mh76rK7VnnwkdgmglXNN3hOj
+RfkGaZTpR697YyZntx9pK3J5Ya6EPhKFWiMt/IAi5dnOCVVMcolSbbXx7ejF6Nry
+oCLxDHUC/22LnGt1O/sOe51NkvgJ0U4hXayKGbC4XbftzVAopAfTUKjH4gz1932W
+ZeiOnwKiO8Z7P88CViTnoLu3BHz6/VMZa78tFTVDd4dUcD0lN/yVVDuEIekyzwV7
+73ocwPRDAVVqq4Gri61PQ3V/vfz833B4pcTk3TuCeUIM/Kzf5DguTQwKWLkGObw2
+xlNN4f9rwG1TuAvUmtAKx4saqyTPFtSeD6sP6U5aQ3sCFSF5eOMg2bRuprkpaAPN
+9fUx0efgkRyPEyzGRGDtZWCFxBE8KO59kXMv9mgLdwaGwBAy6PAt9+b1hMCQrhWA
+cJuZ5ZVHxlZyEwvPO9m+j9L0N4Ro/cwgZ1bZpPLOHAEHDKvUVXgnfWveHknhN/mc
+wK7OR9Geg4PElBogtjQO
+=o6N6
 -END PGP SIGNATURE-



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



svn commit: r22125 [1/2] - in /release/cassandra: 2.1.19/ 2.2.11/ debian/dists/21x/ debian/dists/21x/main/binary-amd64/ debian/dists/21x/main/binary-i386/ debian/dists/21x/main/source/ debian/dists/22

2017-10-05 Thread mshuler
Author: mshuler
Date: Thu Oct  5 13:22:22 2017
New Revision: 22125

Log:
Apache Cassandra 2.1.19 and 2.2.11 Releases

Added:
release/cassandra/2.1.19/
release/cassandra/2.1.19/apache-cassandra-2.1.19-bin.tar.gz   (with props)
release/cassandra/2.1.19/apache-cassandra-2.1.19-bin.tar.gz.asc
release/cassandra/2.1.19/apache-cassandra-2.1.19-bin.tar.gz.asc.md5
release/cassandra/2.1.19/apache-cassandra-2.1.19-bin.tar.gz.asc.sha1
release/cassandra/2.1.19/apache-cassandra-2.1.19-bin.tar.gz.md5
release/cassandra/2.1.19/apache-cassandra-2.1.19-bin.tar.gz.sha1
release/cassandra/2.1.19/apache-cassandra-2.1.19-src.tar.gz   (with props)
release/cassandra/2.1.19/apache-cassandra-2.1.19-src.tar.gz.asc
release/cassandra/2.1.19/apache-cassandra-2.1.19-src.tar.gz.asc.md5
release/cassandra/2.1.19/apache-cassandra-2.1.19-src.tar.gz.asc.sha1
release/cassandra/2.1.19/apache-cassandra-2.1.19-src.tar.gz.md5
release/cassandra/2.1.19/apache-cassandra-2.1.19-src.tar.gz.sha1
release/cassandra/2.2.11/
release/cassandra/2.2.11/apache-cassandra-2.2.11-bin.tar.gz   (with props)
release/cassandra/2.2.11/apache-cassandra-2.2.11-bin.tar.gz.asc
release/cassandra/2.2.11/apache-cassandra-2.2.11-bin.tar.gz.asc.md5
release/cassandra/2.2.11/apache-cassandra-2.2.11-bin.tar.gz.asc.sha1
release/cassandra/2.2.11/apache-cassandra-2.2.11-bin.tar.gz.md5
release/cassandra/2.2.11/apache-cassandra-2.2.11-bin.tar.gz.sha1
release/cassandra/2.2.11/apache-cassandra-2.2.11-src.tar.gz   (with props)
release/cassandra/2.2.11/apache-cassandra-2.2.11-src.tar.gz.asc
release/cassandra/2.2.11/apache-cassandra-2.2.11-src.tar.gz.asc.md5
release/cassandra/2.2.11/apache-cassandra-2.2.11-src.tar.gz.asc.sha1
release/cassandra/2.2.11/apache-cassandra-2.2.11-src.tar.gz.md5
release/cassandra/2.2.11/apache-cassandra-2.2.11-src.tar.gz.sha1

release/cassandra/debian/pool/main/c/cassandra/cassandra-tools_2.1.19_all.deb   
(with props)

release/cassandra/debian/pool/main/c/cassandra/cassandra-tools_2.2.11_all.deb   
(with props)
release/cassandra/debian/pool/main/c/cassandra/cassandra_2.1.19.diff.gz   
(with props)
release/cassandra/debian/pool/main/c/cassandra/cassandra_2.1.19.dsc
release/cassandra/debian/pool/main/c/cassandra/cassandra_2.1.19.orig.tar.gz 
  (with props)

release/cassandra/debian/pool/main/c/cassandra/cassandra_2.1.19.orig.tar.gz.asc
release/cassandra/debian/pool/main/c/cassandra/cassandra_2.1.19_all.deb   
(with props)
release/cassandra/debian/pool/main/c/cassandra/cassandra_2.2.11.diff.gz   
(with props)
release/cassandra/debian/pool/main/c/cassandra/cassandra_2.2.11.dsc
release/cassandra/debian/pool/main/c/cassandra/cassandra_2.2.11.orig.tar.gz 
  (with props)

release/cassandra/debian/pool/main/c/cassandra/cassandra_2.2.11.orig.tar.gz.asc
release/cassandra/debian/pool/main/c/cassandra/cassandra_2.2.11_all.deb   
(with props)
release/cassandra/redhat/21x/cassandra-2.1.19-1.noarch.rpm   (with props)
release/cassandra/redhat/21x/cassandra-2.1.19-1.src.rpm   (with props)
release/cassandra/redhat/21x/cassandra-tools-2.1.19-1.noarch.rpm   (with 
props)

release/cassandra/redhat/21x/repodata/2886ae48e4fd78fb467deebd35a200ea9d0960cbabcf8da843bc76a05fe0d29c-primary.sqlite.bz2
   (with props)

release/cassandra/redhat/21x/repodata/2886ae48e4fd78fb467deebd35a200ea9d0960cbabcf8da843bc76a05fe0d29c-primary.sqlite.bz2.asc

release/cassandra/redhat/21x/repodata/5e21ad5e1f8339cfdfa26c423e62928ea757624e57f667531cd67860358e40c0-filelists.xml.gz
   (with props)

release/cassandra/redhat/21x/repodata/64f784620b45e4457a7c8908a912e18b3e1262ac03deb11b2f2c4ae205f18cd3-other.sqlite.bz2
   (with props)

release/cassandra/redhat/21x/repodata/64f784620b45e4457a7c8908a912e18b3e1262ac03deb11b2f2c4ae205f18cd3-other.sqlite.bz2.asc

release/cassandra/redhat/21x/repodata/9792ad5e7d6d37b713daccc0dc0f8da2ab36eac459d9d8ae52a3dd21c2ce5f30-filelists.sqlite.bz2
   (with props)

release/cassandra/redhat/21x/repodata/9792ad5e7d6d37b713daccc0dc0f8da2ab36eac459d9d8ae52a3dd21c2ce5f30-filelists.sqlite.bz2.asc

release/cassandra/redhat/21x/repodata/b5941fc696f8937628a07084d6e8993c3ef8a4a994886f9ac1d45dc15bc5125c-other.xml.gz
   (with props)

release/cassandra/redhat/21x/repodata/b93f3e1d2bda49d5a2590d23e0f97fb43b93310358e72ba4ebe39f5851674ebb-primary.xml.gz
   (with props)
release/cassandra/redhat/22x/cassandra-2.2.11-1.noarch.rpm   (with props)
release/cassandra/redhat/22x/cassandra-2.2.11-1.src.rpm   (with props)
release/cassandra/redhat/22x/cassandra-tools-2.2.11-1.noarch.rpm   (with 
props)

release/cassandra/redhat/22x/repodata/22c01f83d9818c17aa28c6a4cf9dcdb4d6f34f0830f7b2366316fddada2d1d02-filelists.sqlite.bz2
   (with props)

release/cassandra/redhat/22x/repodata/22c01f83d9818c17aa28c6a4cf9dcdb4d6f34f0830f7b2366316fddada2d1d02-filelists.sqlite.bz2.asc


[jira] [Updated] (CASSANDRA-13935) Indexes creation should have IF EXISTS on its String representation

2017-10-05 Thread Javier Canillas (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Javier Canillas updated CASSANDRA-13935:

Attachment: 13935-3.0.txt

Patch for cassandra version 3.0 attached, You can also see changes on my forked 
repository: https://github.com/javiercanillas/cassandra/tree/13935-3.0

> Indexes creation should have IF EXISTS on its String representation
> ---
>
> Key: CASSANDRA-13935
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13935
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL, Secondary Indexes
> Environment: Ubuntu 16.04.2 LTS
> java version "1.8.0_144"
> Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
> Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
>Reporter: Javier Canillas
>Priority: Trivial
> Attachments: 13935-3.0.txt
>
>
> I came across something that bothers me a lot. I'm using snapshots to backup 
> data from my Cassandra cluster in case something really bad happens (like 
> dropping a table or a keyspace).
> Exercising the recovery actions from those backups, I discover that the 
> schema put on the file "schema.cql" as a result of the snapshot has the 
> "CREATE IF NOT EXISTS" for the table, but not for the indexes.
> When restoring from snapshots, and relying on the execution of these schemas 
> to build up the table structure, everything seems fine for tables without 
> secondary indexes, but for the ones that make use of them, the execution of 
> these statements fail miserably.
> Here I paste a generated schema.cql content for a table with indexes:
> CREATE TABLE IF NOT EXISTS keyspace1.table1 (
>   id text PRIMARY KEY,
>   content text,
>   last_update_date date,
>   last_update_date_time timestamp)
>   WITH ID = f1045fc0-2f59-11e7-95ec-295c3c064920
>   AND bloom_filter_fp_chance = 0.01
>   AND dclocal_read_repair_chance = 0.1
>   AND crc_check_chance = 1.0
>   AND default_time_to_live = 864
>   AND gc_grace_seconds = 864000
>   AND min_index_interval = 128
>   AND max_index_interval = 2048
>   AND memtable_flush_period_in_ms = 0
>   AND read_repair_chance = 0.0
>   AND speculative_retry = '99PERCENTILE'
>   AND caching = { 'keys': 'NONE', 'rows_per_partition': 'NONE' }
>   AND compaction = { 'max_threshold': '32', 'min_threshold': '4', 
> 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' }
>   AND compression = { 'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor' }
>   AND cdc = false
>   AND extensions = {  };
> CREATE INDEX table1_last_update_date_idx ON keyspace1.table1 
> (last_update_date);
> I think the last part should be:
> CREATE INDEX IF NOT EXISTS table1_last_update_date_idx ON keyspace1.table1 
> (last_update_date);



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



svn commit: r1811209 - in /cassandra/site: publish/download/index.html src/_data/releases.yaml

2017-10-05 Thread mshuler
Author: mshuler
Date: Thu Oct  5 13:34:55 2017
New Revision: 1811209

URL: http://svn.apache.org/viewvc?rev=1811209=rev
Log:
Update download page for 2.1.19 and 2.2.11 releases

Modified:
cassandra/site/publish/download/index.html
cassandra/site/src/_data/releases.yaml

Modified: cassandra/site/publish/download/index.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/publish/download/index.html?rev=1811209=1811208=1811209=diff
==
--- cassandra/site/publish/download/index.html (original)
+++ cassandra/site/publish/download/index.html Thu Oct  5 13:34:55 2017
@@ -107,9 +107,9 @@
 
 
   Apache Cassandra 3.0 is supported until 6 months after 4.0 
release (date TBD). The latest release is http://www.apache.org/dyn/closer.lua/cassandra/3.0.14/apache-cassandra-3.0.14-bin.tar.gz;>3.0.14
 (http://www.apache.org/dist/cassandra/3.0.14/apache-cassandra-3.0.14-bin.tar.gz.asc;>pgp,
 http://www.apache.org/dist/cassandra/3.0.14/apache-cassandra-3.0.14-bin.tar.gz.md5;>md5
 and http://www.apache.org/dist/cassandra/3.0.14/apache-cassandra-3.0.14-bin.tar.gz.sha1;>sha1),
 released on 2017-06-23.
-  Apache Cassandra 2.2 is supported until 4.0 release (date 
TBD). The latest release is http://www.apache.org/dyn/closer.lua/cassandra/2.2.10/apache-cassandra-2.2.10-bin.tar.gz;>2.2.10
 (http://www.apache.org/dist/cassandra/2.2.10/apache-cassandra-2.2.10-bin.tar.gz.asc;>pgp,
 http://www.apache.org/dist/cassandra/2.2.10/apache-cassandra-2.2.10-bin.tar.gz.md5;>md5
 and http://www.apache.org/dist/cassandra/2.2.10/apache-cassandra-2.2.10-bin.tar.gz.sha1;>sha1),
 released on 2017-06-26.
+  Apache Cassandra 2.2 is supported until 4.0 release (date 
TBD). The latest release is http://www.apache.org/dyn/closer.lua/cassandra/2.2.11/apache-cassandra-2.2.11-bin.tar.gz;>2.2.11
 (http://www.apache.org/dist/cassandra/2.2.11/apache-cassandra-2.2.11-bin.tar.gz.asc;>pgp,
 http://www.apache.org/dist/cassandra/2.2.11/apache-cassandra-2.2.11-bin.tar.gz.md5;>md5
 and http://www.apache.org/dist/cassandra/2.2.11/apache-cassandra-2.2.11-bin.tar.gz.sha1;>sha1),
 released on 2017-10-05.
   Apache Cassandra 2.1 is supported until 4.0 release (date 
TBD) with critical fixes only. The latest release is
-http://www.apache.org/dyn/closer.lua/cassandra/2.1.18/apache-cassandra-2.1.18-bin.tar.gz;>2.1.18
 (http://www.apache.org/dist/cassandra/2.1.18/apache-cassandra-2.1.18-bin.tar.gz.asc;>pgp,
 http://www.apache.org/dist/cassandra/2.1.18/apache-cassandra-2.1.18-bin.tar.gz.md5;>md5
 and http://www.apache.org/dist/cassandra/2.1.18/apache-cassandra-2.1.18-bin.tar.gz.sha1;>sha1),
 released on 2017-06-26.
+http://www.apache.org/dyn/closer.lua/cassandra/2.1.19/apache-cassandra-2.1.19-bin.tar.gz;>2.1.19
 (http://www.apache.org/dist/cassandra/2.1.19/apache-cassandra-2.1.19-bin.tar.gz.asc;>pgp,
 http://www.apache.org/dist/cassandra/2.1.19/apache-cassandra-2.1.19-bin.tar.gz.md5;>md5
 and http://www.apache.org/dist/cassandra/2.1.19/apache-cassandra-2.1.19-bin.tar.gz.sha1;>sha1),
 released on 2017-10-05.
 
 
 Older (unsupported) versions of Cassandra are http://archive.apache.org/dist/cassandra/;>archived here.

Modified: cassandra/site/src/_data/releases.yaml
URL: 
http://svn.apache.org/viewvc/cassandra/site/src/_data/releases.yaml?rev=1811209=1811208=1811209=diff
==
--- cassandra/site/src/_data/releases.yaml (original)
+++ cassandra/site/src/_data/releases.yaml Thu Oct  5 13:34:55 2017
@@ -7,9 +7,9 @@ latest:
   date: 2017-06-23
 
 "2.2":
-  name: "2.2.10"
-  date: 2017-06-26
+  name: "2.2.11"
+  date: 2017-10-05
 
 "2.1":
-  name: "2.1.18"
-  date: 2017-06-26
+  name: "2.1.19"
+  date: 2017-10-05



-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-13935) Indexes creation should have IF EXISTS on its String representation

2017-10-05 Thread Javier Canillas (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Javier Canillas updated CASSANDRA-13935:

Fix Version/s: 3.11.x
Reproduced In: 3.11.0, 3.0.14  (was: 3.0.14, 3.11.0)
   Status: Patch Available  (was: Open)

Attached you may find patches. git comment does not include reviewer, feel free 
to change it. See submitted files comments if you prefer checking code from my 
public forked repository

> Indexes creation should have IF EXISTS on its String representation
> ---
>
> Key: CASSANDRA-13935
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13935
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL, Secondary Indexes
> Environment: Ubuntu 16.04.2 LTS
> java version "1.8.0_144"
> Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
> Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
>Reporter: Javier Canillas
>Priority: Trivial
> Fix For: 3.11.x
>
> Attachments: 13935-3.0.txt, 13935-3.11.txt
>
>
> I came across something that bothers me a lot. I'm using snapshots to backup 
> data from my Cassandra cluster in case something really bad happens (like 
> dropping a table or a keyspace).
> Exercising the recovery actions from those backups, I discover that the 
> schema put on the file "schema.cql" as a result of the snapshot has the 
> "CREATE IF NOT EXISTS" for the table, but not for the indexes.
> When restoring from snapshots, and relying on the execution of these schemas 
> to build up the table structure, everything seems fine for tables without 
> secondary indexes, but for the ones that make use of them, the execution of 
> these statements fail miserably.
> Here I paste a generated schema.cql content for a table with indexes:
> CREATE TABLE IF NOT EXISTS keyspace1.table1 (
>   id text PRIMARY KEY,
>   content text,
>   last_update_date date,
>   last_update_date_time timestamp)
>   WITH ID = f1045fc0-2f59-11e7-95ec-295c3c064920
>   AND bloom_filter_fp_chance = 0.01
>   AND dclocal_read_repair_chance = 0.1
>   AND crc_check_chance = 1.0
>   AND default_time_to_live = 864
>   AND gc_grace_seconds = 864000
>   AND min_index_interval = 128
>   AND max_index_interval = 2048
>   AND memtable_flush_period_in_ms = 0
>   AND read_repair_chance = 0.0
>   AND speculative_retry = '99PERCENTILE'
>   AND caching = { 'keys': 'NONE', 'rows_per_partition': 'NONE' }
>   AND compaction = { 'max_threshold': '32', 'min_threshold': '4', 
> 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' }
>   AND compression = { 'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor' }
>   AND cdc = false
>   AND extensions = {  };
> CREATE INDEX table1_last_update_date_idx ON keyspace1.table1 
> (last_update_date);
> I think the last part should be:
> CREATE INDEX IF NOT EXISTS table1_last_update_date_idx ON keyspace1.table1 
> (last_update_date);



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-13935) Indexes creation should have IF EXISTS on its String representation

2017-10-05 Thread Javier Canillas (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13935?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Javier Canillas updated CASSANDRA-13935:

Attachment: 13935-3.11.txt

Patch for cassandra version 3.11 attached (although you can fast-foward the 3.0 
patch to 3.11), You can also see changes on my forked repository: 
https://github.com/javiercanillas/cassandra/tree/13935-3.11

> Indexes creation should have IF EXISTS on its String representation
> ---
>
> Key: CASSANDRA-13935
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13935
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL, Secondary Indexes
> Environment: Ubuntu 16.04.2 LTS
> java version "1.8.0_144"
> Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
> Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
>Reporter: Javier Canillas
>Priority: Trivial
> Attachments: 13935-3.0.txt, 13935-3.11.txt
>
>
> I came across something that bothers me a lot. I'm using snapshots to backup 
> data from my Cassandra cluster in case something really bad happens (like 
> dropping a table or a keyspace).
> Exercising the recovery actions from those backups, I discover that the 
> schema put on the file "schema.cql" as a result of the snapshot has the 
> "CREATE IF NOT EXISTS" for the table, but not for the indexes.
> When restoring from snapshots, and relying on the execution of these schemas 
> to build up the table structure, everything seems fine for tables without 
> secondary indexes, but for the ones that make use of them, the execution of 
> these statements fail miserably.
> Here I paste a generated schema.cql content for a table with indexes:
> CREATE TABLE IF NOT EXISTS keyspace1.table1 (
>   id text PRIMARY KEY,
>   content text,
>   last_update_date date,
>   last_update_date_time timestamp)
>   WITH ID = f1045fc0-2f59-11e7-95ec-295c3c064920
>   AND bloom_filter_fp_chance = 0.01
>   AND dclocal_read_repair_chance = 0.1
>   AND crc_check_chance = 1.0
>   AND default_time_to_live = 864
>   AND gc_grace_seconds = 864000
>   AND min_index_interval = 128
>   AND max_index_interval = 2048
>   AND memtable_flush_period_in_ms = 0
>   AND read_repair_chance = 0.0
>   AND speculative_retry = '99PERCENTILE'
>   AND caching = { 'keys': 'NONE', 'rows_per_partition': 'NONE' }
>   AND compaction = { 'max_threshold': '32', 'min_threshold': '4', 
> 'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' }
>   AND compression = { 'chunk_length_in_kb': '64', 'class': 
> 'org.apache.cassandra.io.compress.LZ4Compressor' }
>   AND cdc = false
>   AND extensions = {  };
> CREATE INDEX table1_last_update_date_idx ON keyspace1.table1 
> (last_update_date);
> I think the last part should be:
> CREATE INDEX IF NOT EXISTS table1_last_update_date_idx ON keyspace1.table1 
> (last_update_date);



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] Git Push Summary

2017-10-05 Thread mshuler
Repository: cassandra
Updated Tags:  refs/tags/cassandra-2.2.11 [created] 3f7a7b08c

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] Git Push Summary

2017-10-05 Thread mshuler
Repository: cassandra
Updated Tags:  refs/tags/2.2.11-tentative [deleted] c510e0014

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-13940) Fix stress seed multiplier

2017-10-05 Thread Daniel Cranford (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16192830#comment-16192830
 ] 

Daniel Cranford commented on CASSANDRA-13940:
-

See [this 
comment|https://issues.apache.org/jira/browse/CASSANDRA-12744?focusedCommentId=16192820=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16192820]
 for a full explanation of the problem.

> Fix stress seed multiplier
> --
>
> Key: CASSANDRA-13940
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13940
> Project: Cassandra
>  Issue Type: Bug
>  Components: Stress
>Reporter: Daniel Cranford
> Attachments: 0001-Fixing-seed-multiplier.patch
>
>
> CASSANDRA-12744 attempted to fix a problem with partition key generation, but 
> is generally broken. E.G.
> {noformat}
> cassandra-stress -insert visits=fixed\(100\) revisit=uniform\(1..100\) ...
> {noformat}
> sends cassandra-stress into an infinite loop. Here's a better fix.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] Git Push Summary

2017-10-05 Thread mshuler
Repository: cassandra
Updated Tags:  refs/tags/2.1.19-tentative [deleted] 428eaa3e3

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[cassandra] Git Push Summary

2017-10-05 Thread mshuler
Repository: cassandra
Updated Tags:  refs/tags/cassandra-2.1.19 [created] f6d693ae8

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-12744) Randomness of stress distributions is not good

2017-10-05 Thread Daniel Cranford (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-12744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16192827#comment-16192827
 ] 

Daniel Cranford commented on CASSANDRA-12744:
-

Created CASSANDRA-13940 to fix this.

> Randomness of stress distributions is not good
> --
>
> Key: CASSANDRA-12744
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12744
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: T Jake Luciani
>Assignee: Ben Slater
>Priority: Minor
>  Labels: stress
> Fix For: 4.0
>
> Attachments: CASSANDRA_12744_SeedManager_changes-trunk.patch
>
>
> The randomness of our distributions is pretty bad.  We are using the 
> JDKRandomGenerator() but in testing of uniform(1..3) we see for 100 
> iterations it's only outputting 3.  If you bump it to 10k it hits all 3 
> values. 
> I made a change to just use the default commons math random generator and now 
> see all 3 values for n=10



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Created] (CASSANDRA-13940) Fix stress seed multiplier

2017-10-05 Thread Daniel Cranford (JIRA)
Daniel Cranford created CASSANDRA-13940:
---

 Summary: Fix stress seed multiplier
 Key: CASSANDRA-13940
 URL: https://issues.apache.org/jira/browse/CASSANDRA-13940
 Project: Cassandra
  Issue Type: Bug
  Components: Stress
Reporter: Daniel Cranford
 Attachments: 0001-Fixing-seed-multiplier.patch

CASSANDRA-12744 attempted to fix a problem with partition key generation, but 
is generally broken. E.G.

{noformat}
cassandra-stress -insert visits=fixed\(100\) revisit=uniform\(1..100\) ...
{noformat}

sends cassandra-stress into an infinite loop. Here's a better fix.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-12744) Randomness of stress distributions is not good

2017-10-05 Thread Daniel Cranford (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-12744?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16192820#comment-16192820
 ] 

Daniel Cranford commented on CASSANDRA-12744:
-

Some more thoughts:

The generation of partition keys has been "broken" since CASSANDRA-7519

The Linear Congruential Generators (LCGs) used in java.util.Random and by 
extension JDKRandomGenerator generate good random number sequences, but similar 
seeds result in similar sequences. Using the lcg update function {{lcg\(x) = 
a*x + c}} like

random ~1~ = lcg(1)
random ~2~ = lcg(2)
random ~3~ = lcg(3)
...
random ~n~ = lcg\(n)

does not generate a good random sequence, this is a misuse of the LCG. LCGs are 
supposed to be used like

random ~1~ = lcg(1)
random ~2~ = lcg(lcg(1))
random ~3~ = lcg(lcg(lcg(1)))
...
random ~n~ = lcg ^n^ (1)

I say "broken" in quotes because the misuse of LCGs ends up not mattering. 
{{new java.util.Random(seed).nextDouble()}} will always differ from {{new 
java.util.Random(seed + 1).nextDouble()}} by more than 1/100,000,000,000 Thus 
with the default partition key population (=UNIFORM(1..100B)), seeds that 
differ by 1 will generate distinct partition keys.

The only thing that matters about partition keys is how many distinct values 
there are (and how large their lexical value is). The number of partition key 
components doesn't matter. The cardinality of each partition key component 
doesn't matter. The distribution of values in the lexical partition key space 
doesn't matter.

At the end of the day, all the partition key components get concatenated and 
the resulting bit vector is hashed resulting in a uniformly distributed 64 bit 
token that determines where the data will be stored.

The easiest "fix" is to not use the partition key population to define the 
number of partition keys. Take advantage of the fact that the only thing that 
matters from a performance standpoint is the number of distinct partitions. 
Leave the partition key distribution at uniform(1..100B), and use the n= 
parameter to define the number of partitions.

An ideal fix would update the way partition keys are generated to use the LCG 
generator properly. However, this seems difficult since LCGs don't support 
random access (i.e., the only way to calculate the nth item in an LCG sequence 
is to first calculate the n-1 preceding items), and all three seed generation 
modes rely on the ability to randomly jump around in the seed sequence. This 
could be worked around by using a PRNG that supports random access to the n'th 
item in the sequence (e.g. something like JDK 1.8's SpittableRandom could be 
easily extended to support this).

A more workable fix is to spread the generated seeds (typically drawn from a 
smallish range of integers) around in the 2 ^64^ values a long can take before 
seeding the LCG. An additional caveat to whatever function is used for 
spreading the seeds needs to be invertable since LookbackableWriteGenerator's 
implementation relies on the properties of the sequence it generates to perform 
internal bookeeping.

Multiplication by an odd integer happens to be an invertable function (although 
integer division is NOT the inverse operation, multiplication by the modular 
inverse is). So the initial implementation (although broken) is not actually 
that bad an idea. I propose fixing things by picking a static integer as the 
multiplier and using multiplication by it's modular inverse to invert it for 
LookbackableWriteGenerator


> Randomness of stress distributions is not good
> --
>
> Key: CASSANDRA-12744
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12744
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
>Reporter: T Jake Luciani
>Assignee: Ben Slater
>Priority: Minor
>  Labels: stress
> Fix For: 4.0
>
> Attachments: CASSANDRA_12744_SeedManager_changes-trunk.patch
>
>
> The randomness of our distributions is pretty bad.  We are using the 
> JDKRandomGenerator() but in testing of uniform(1..3) we see for 100 
> iterations it's only outputting 3.  If you bump it to 10k it hits all 3 
> values. 
> I made a change to just use the default commons math random generator and now 
> see all 3 values for n=10



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Commented] (CASSANDRA-3200) Repair: compare all trees together (for a given range/cf) instead of by pair in isolation

2017-10-05 Thread Marcus Eriksson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-3200?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16192808#comment-16192808
 ] 

Marcus Eriksson commented on CASSANDRA-3200:


haha yeah that was horribly unreadable coming back to it, sorry about that, 
refactored version up 
[here|https://github.com/krummas/cassandra/commits/marcuse/CASSANDRA-3200], 
hopefully it makes more sense now.

bq. User facing:
bq. symmetric/asymmetric nodetool naming option is ambiguous, not sure what a 
better name would be, maybe something about reducing or optimizing streams?
made it {{--optimise-streams}} (or {{-os}})
bq. should be off by default
done
bq. AsymmetricSyncRequest/SyncTasks:
bq. Could we just add a one-way flag to the existing requests / tasks? The new 
asymmetric classes duplicate most of the symmetric tasks code (I think). In the 
case of local sync task, the pullRepair flag is basically doing this already.
yeah I agree it duplicates a lot of code, but they also do different things - 
the asymmetric ones don't need the merkle trees for example since we compare 
everything outside of this class now. Let me know if you see a straight-forward 
way to do it.  I'll try to break out the common code in a separate class. 
Hopefully the non-symmetric classes can be removed once we have confidence this 
works as well.
bq. IncomingRepairStreamTracker
bq. fixing the container thing as mentioned above may fix this, but it’s 
difficult to figure out how this works. A top level java doc explaining how the 
duplicate streams are identified and reduced would be nice.
hopefully the refactor makes this clearer, the class is now tiny and only 
actually tracks the incoming streams for each node
bq. The class name doesn’t seem appropriate. Not all the streams are incoming, 
and it’s not tracking any continuous processes. Maybe RepairStreamReducer or 
RepairStreamOptimizer?
Moved the reduce logic to {{ReduceHelper}}
bq. Should be in the repair package.
done
bq. IncomingRepairStreamTrackerTest
bq. Should throw exception instead of printing stack trace in static block
done
bq. Fix indentation of matrices in test comments
indentation looks good to me and they look good on 
[github|https://github.com/krummas/cassandra/commit/f1cfc3af5206bd3f804bcf06d19b95e390466caa#diff-ec9d6471b46f4098dbce446cdbd25828R85]
 or am I misunderstanding you?
bq. The content of the `differences` map, as set up in testSimpleReducing 
doesn’t make sense to me, why would node C be in node A’s map, but note vice 
versa?
this is the way we compare trees - we compare A to C, but not the other way, 
and it makes no sense adding the C -> A difference since we don't need it for 
the calculations
bq. I think it would be clearer to alias the contents of addresses 0-4 to 
static variables like A, B, C, etc. Parsing out the array indices when reading 
through the tests is difficult to follow.
done

> Repair: compare all trees together (for a given range/cf) instead of by pair 
> in isolation
> -
>
> Key: CASSANDRA-3200
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3200
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Sylvain Lebresne
>Assignee: Marcus Eriksson
>Priority: Minor
>  Labels: repair
> Fix For: 4.x
>
>
> Currently, repair compare merkle trees by pair, in isolation of any other 
> tree. What that means concretely is that if I have three node A, B and C 
> (RF=3) with A and B in sync, but C having some range r inconsitent with both 
> A and B (since those are consistent), we will do the following transfer of r: 
> A -> C, C -> A, B -> C, C -> B.
> The fact that we do both A -> C and C -> A is fine, because we cannot know 
> which one is more to date from A or C. However, the transfer B -> C is 
> useless provided we do A -> C if A and B are in sync. Not doing that transfer 
> will be a 25% improvement in that case. With RF=5 and only one node 
> inconsistent with all the others, that almost a 40% improvement, etc...
> Given that this situation of one node not in sync while the others are is 
> probably fairly common (one node died so it is behind), this could be a fair 
> improvement over what is transferred. In the case where we use repair to 
> rebuild completely a node, this will be a dramatic improvement, because it 
> will avoid the rebuilded node to get RF times the data it should get.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Comment Edited] (CASSANDRA-13404) Hostname verification for client-to-node encryption

2017-10-05 Thread JIRA

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13404?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16192804#comment-16192804
 ] 

Per Otterström edited comment on CASSANDRA-13404 at 10/5/17 12:36 PM:
--

I've made an attempt based on the plug-in approach. Attached as v2 patch.

I have performed some basic tests on the client-server and server-server 
connections with and without SSL, with successful results. More things 
scenarios must be covered, but I would like some feedback on this first.

In short:
- A new ISecureChannelInitializer interface is created.
- Existing setup of SSL connection in Server class is moved into 
SecureClientChannelInitializer
- Existing setup of SSL connections NettyFactory clas is moved into 
SecureServerChannelInitializer
- Existing configuraiton options are supported as is
- Custom implementations have the option to use custom parameters based on the 
ParameterizedClass

A reflection of my own:
- In this patch set I'm using the same plug-in interface for client-server and 
server-server initializers. Perhaps it would be more clean to have separate 
interfaces for them even though they are very similar. For instance, dedicated 
interfaces would allow us to pass in client specific encryption options and 
server specific encryption options.




was (Author: eperott):
I've made an attempt based on the plug-in approach.

I have performed some basic tests on the client-server and server-server 
connections with and without SSL, with successful results. More things 
scenarios must be covered, but I would like some feedback on this first.

In short:
- A new ISecureChannelInitializer interface is created.
- Existing setup of SSL connection in Server class is moved into 
SecureClientChannelInitializer
- Existing setup of SSL connections NettyFactory clas is moved into 
SecureServerChannelInitializer
- Existing configuraiton options are supported as is
- Custom implementations have the option to use custom parameters based on the 
ParameterizedClass

A reflection of my own:
- In this patch set I'm using the same plug-in interface for client-server and 
server-server initializers. Perhaps it would be more clean to have separate 
interfaces for them even though they are very similar. For instance, dedicated 
interfaces would allow us to pass in client specific encryption options and 
server specific encryption options.



> Hostname verification for client-to-node encryption
> ---
>
> Key: CASSANDRA-13404
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13404
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Jan Karlsson
>Assignee: Per Otterström
> Fix For: 4.x
>
> Attachments: 13404-trunk.txt, 13404-trunk-v2.patch
>
>
> Similarily to CASSANDRA-9220, Cassandra should support hostname verification 
> for client-node connections.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-13404) Hostname verification for client-to-node encryption

2017-10-05 Thread JIRA

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13404?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Per Otterström updated CASSANDRA-13404:
---
Attachment: 13404-trunk-v2.patch

I've made an attempt based on the plug-in approach.

I have performed some basic tests on the client-server and server-server 
connections with and without SSL, with successful results. More things 
scenarios must be covered, but I would like some feedback on this first.

In short:
- A new ISecureChannelInitializer interface is created.
- Existing setup of SSL connection in Server class is moved into 
SecureClientChannelInitializer
- Existing setup of SSL connections NettyFactory clas is moved into 
SecureServerChannelInitializer
- Existing configuraiton options are supported as is
- Custom implementations have the option to use custom parameters based on the 
ParameterizedClass

A reflection of my own:
- In this patch set I'm using the same plug-in interface for client-server and 
server-server initializers. Perhaps it would be more clean to have separate 
interfaces for them even though they are very similar. For instance, dedicated 
interfaces would allow us to pass in client specific encryption options and 
server specific encryption options.



> Hostname verification for client-to-node encryption
> ---
>
> Key: CASSANDRA-13404
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13404
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Jan Karlsson
>Assignee: Per Otterström
> Fix For: 4.x
>
> Attachments: 13404-trunk.txt, 13404-trunk-v2.patch
>
>
> Similarily to CASSANDRA-9220, Cassandra should support hostname verification 
> for client-node connections.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Assigned] (CASSANDRA-13404) Hostname verification for client-to-node encryption

2017-10-05 Thread JIRA

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13404?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Per Otterström reassigned CASSANDRA-13404:
--

Assignee: Per Otterström  (was: Jan Karlsson)

> Hostname verification for client-to-node encryption
> ---
>
> Key: CASSANDRA-13404
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13404
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Jan Karlsson
>Assignee: Per Otterström
> Fix For: 4.x
>
> Attachments: 13404-trunk.txt
>
>
> Similarily to CASSANDRA-9220, Cassandra should support hostname verification 
> for client-node connections.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-13939) Mishandling of cells for removed/dropped columns when reading legacy files

2017-10-05 Thread Sylvain Lebresne (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13939?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sylvain Lebresne updated CASSANDRA-13939:
-
Status: Patch Available  (was: Open)

Patch available in the following branches:
| [3.0|https://github.com/pcmanus/cassandra/commits/13939-3.0] | 
[CircleCI|https://circleci.com/gh/pcmanus/cassandra/7] |
| [3.11|https://github.com/pcmanus/cassandra/commits/13939-3.11] | 
[CircleCI|https://circleci.com/gh/pcmanus/cassandra/8] | 

> Mishandling of cells for removed/dropped columns when reading legacy files
> --
>
> Key: CASSANDRA-13939
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13939
> Project: Cassandra
>  Issue Type: Bug
>  Components: Local Write-Read Paths
>Reporter: Sylvain Lebresne
>Assignee: Sylvain Lebresne
> Fix For: 3.0.x, 3.11.x
>
>
> The tl;dr is that there is a bug in reading legacy files that can manifests 
> itself with a trace looking like this:
> {noformat}
> Exception (java.lang.IllegalStateException) encountered during startup: One 
> row required, 2 found
> java.lang.IllegalStateException: One row required, 2 found
> at 
> org.apache.cassandra.cql3.UntypedResultSet$FromResultSet.one(UntypedResultSet.java:84)
> at 
> org.apache.cassandra.schema.LegacySchemaMigrator.readTableTimestamp(LegacySchemaMigrator.java:254)
> at 
> org.apache.cassandra.schema.LegacySchemaMigrator.readTable(LegacySchemaMigrator.java:244)
> at 
> org.apache.cassandra.schema.LegacySchemaMigrator.lambda$readTables$7(LegacySchemaMigrator.java:238)
> at 
> org.apache.cassandra.schema.LegacySchemaMigrator$$Lambda$126/591203139.accept(Unknown
>  Source)
> at java.util.ArrayList.forEach(ArrayList.java:1249)
> at 
> org.apache.cassandra.schema.LegacySchemaMigrator.readTables(LegacySchemaMigrator.java:238)
> at 
> org.apache.cassandra.schema.LegacySchemaMigrator.readKeyspace(LegacySchemaMigrator.java:187)
> at 
> org.apache.cassandra.schema.LegacySchemaMigrator.lambda$readSchema$4(LegacySchemaMigrator.java:178)
> at 
> org.apache.cassandra.schema.LegacySchemaMigrator$$Lambda$123/1612073393.accept(Unknown
>  Source)
> at java.util.ArrayList.forEach(ArrayList.java:1249)
> at 
> org.apache.cassandra.schema.LegacySchemaMigrator.readSchema(LegacySchemaMigrator.java:178)
> {noformat}
> The reason this can happen has to do with the handling of legacy files. 
> Legacy files are cell based while the 3.0 storage engine is primarily row 
> based, so we group those cells into rows early in the deserialization process 
> (in {{UnfilteredDeserializer.OldFormatDeserializer}}), but in doing so, we 
> can only consider a row finished when we've either reach the end of the 
> partition/file, or when we've read a cell that doesn't belong to that row.  
> That second case means that when the deserializer returns a given row, the 
> underlying file pointer may actually not positioned at the end of that row, 
> but rather it may be past the first cell of the next row (which the 
> deserializer remembers for future use). Long story short, when we try to 
> detect if we're logically past our current index block in 
> {{AbstractIterator.IndexState#isPastCurrentBlock(}}), we can't simply rely on 
> the file pointer, which again may be a bit more advanced that we logically 
> are, and that's the reason for the "correction" in that method. That 
> correction is really just the amount of bytes remembered but not yet used in 
> the deserializer.
> That "correction" is sometimes wrong however and that's due to the fact that 
> in {{LegacyLayout#readLegacyAtom}}, if we get a cell for an dropped or 
> removed cell, we ignore that cell (which, in itself, is fine). Problem is 
> that this skipping is done within the {{LegacyLayout#readLegacyAtom}} method 
> but without {{UnfilteredDeserializer.OldFormatDeserializer}} knowing about 
> it. As such, the size of the skipped cell ends up being accounted in the 
> "correction" bytes for the next cell we read. Lo and behold, if such cell for 
> a removed/dropped column is both the last cell of a CQL row and just before 
> an index boundary (pretty unlikely in general btw, but definitively 
> possible), then the deserializer will count its size with the first cell of 
> the next row, which happens to also be the first cell of the next index 
> block.  And when the code then tries to figure out if it crossed an index 
> boundary, it will over-correct. That is, the {{indexState.updateBlock()}} 
> call at the start of {{SSTableIterator.ForwardIndexedReader#computeNext}} 
> will not work correctly.  This can then make the code return a row that is 
> after the requested slice end (and should thus not be returned) because it 
> doesn't compare that row to said requested end due 

[jira] [Comment Edited] (CASSANDRA-13929) BTree$Builder / io.netty.util.Recycler$Stack leaking memory

2017-10-05 Thread Thomas Steinmaurer (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-13929?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16192603#comment-16192603
 ] 

Thomas Steinmaurer edited comment on CASSANDRA-13929 at 10/5/17 8:32 AM:
-

Patched our 9 node loadtest cluster with disabled recycling. Flat AVG heap 
utilization in a time-frame of 24hrs. => 
cassandra_3.11.1_NORECYCLE_memory_utilization.jpg

I don't see any negative impact for normal operations (haven't tested 
streaming) running without this cache, so this is probably a cost vs. benefit 
discussion, but e.g. in relation to other in-memory data structures for 
speeding up things (key cache, bloom filter), this kind of cache is 
questionable, IMHO.



was (Author: tsteinmaurer):
Patched our 9 node loadtest cluster with disabled recycling. Flat AVG heap 
utilization in a time-frame of 24hrs. => 
cassandra_3.11.1_NORECYCLE_memory_utilization.jpg

I don't see any negative impact for normal operations (not streaming) running 
without this cache, so this is probably a cost vs. benefit discussion, but e.g. 
in relation to other in-memory data structures for speeding up things (key 
cache, bloom filter), this kind of cache is questionable, IMHO.


> BTree$Builder / io.netty.util.Recycler$Stack leaking memory
> ---
>
> Key: CASSANDRA-13929
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13929
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Thomas Steinmaurer
> Attachments: cassandra_3.11.0_min_memory_utilization.jpg, 
> cassandra_3.11.1_mat_dominator_classes_FIXED.png, 
> cassandra_3.11.1_mat_dominator_classes.png, 
> cassandra_3.11.1_NORECYCLE_memory_utilization.jpg, 
> cassandra_3.11.1_snapshot_heaputilization.png
>
>
> Different to CASSANDRA-13754, there seems to be another memory leak in 
> 3.11.0+ in BTree$Builder / io.netty.util.Recycler$Stack.
> * heap utilization increase after upgrading to 3.11.0 => 
> cassandra_3.11.0_min_memory_utilization.jpg
> * No difference after upgrading to 3.11.1 (snapshot build) => 
> cassandra_3.11.1_snapshot_heaputilization.png; thus most likely after fixing 
> CASSANDRA-13754, more visible now
> * MAT shows io.netty.util.Recycler$Stack as top contributing class => 
> cassandra_3.11.1_mat_dominator_classes.png
> * With -Xmx8G (CMS) and our load pattern, we have to do a rolling restart 
> after ~ 72 hours
> Verified the following fix, namely explicitly unreferencing the 
> _recycleHandle_ member (making it non-final). In 
> _org.apache.cassandra.utils.btree.BTree.Builder.recycle()_
> {code}
> public void recycle()
> {
> if (recycleHandle != null)
> {
> this.cleanup();
> builderRecycler.recycle(this, recycleHandle);
> recycleHandle = null; // ADDED
> }
> }
> {code}
> Patched a single node in our loadtest cluster with this change and after ~ 10 
> hours uptime, no sign of the previously offending class in MAT anymore => 
> cassandra_3.11.1_mat_dominator_classes_FIXED.png
> Can' say if this has any other side effects etc., but I doubt.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Updated] (CASSANDRA-13929) BTree$Builder / io.netty.util.Recycler$Stack leaking memory

2017-10-05 Thread Thomas Steinmaurer (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13929?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Steinmaurer updated CASSANDRA-13929:
---
Attachment: cassandra_3.11.1_NORECYCLE_memory_utilization.jpg

Patched our 9 node loadtest cluster with disabled recycling. Flat AVG heap 
utilization in a time-frame of 24hrs. => 
cassandra_3.11.1_NORECYCLE_memory_utilization.jpg

I don't see any negative impact for normal operations (not streaming) running 
without this cache, so this is probably a cost vs. benefit discussion, but e.g. 
in relation to other in-memory data structures for speeding up things (key 
cache, bloom filter), this kind of cache is questionable, IMHO.


> BTree$Builder / io.netty.util.Recycler$Stack leaking memory
> ---
>
> Key: CASSANDRA-13929
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13929
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Thomas Steinmaurer
> Attachments: cassandra_3.11.0_min_memory_utilization.jpg, 
> cassandra_3.11.1_mat_dominator_classes_FIXED.png, 
> cassandra_3.11.1_mat_dominator_classes.png, 
> cassandra_3.11.1_NORECYCLE_memory_utilization.jpg, 
> cassandra_3.11.1_snapshot_heaputilization.png
>
>
> Different to CASSANDRA-13754, there seems to be another memory leak in 
> 3.11.0+ in BTree$Builder / io.netty.util.Recycler$Stack.
> * heap utilization increase after upgrading to 3.11.0 => 
> cassandra_3.11.0_min_memory_utilization.jpg
> * No difference after upgrading to 3.11.1 (snapshot build) => 
> cassandra_3.11.1_snapshot_heaputilization.png; thus most likely after fixing 
> CASSANDRA-13754, more visible now
> * MAT shows io.netty.util.Recycler$Stack as top contributing class => 
> cassandra_3.11.1_mat_dominator_classes.png
> * With -Xmx8G (CMS) and our load pattern, we have to do a rolling restart 
> after ~ 72 hours
> Verified the following fix, namely explicitly unreferencing the 
> _recycleHandle_ member (making it non-final). In 
> _org.apache.cassandra.utils.btree.BTree.Builder.recycle()_
> {code}
> public void recycle()
> {
> if (recycleHandle != null)
> {
> this.cleanup();
> builderRecycler.recycle(this, recycleHandle);
> recycleHandle = null; // ADDED
> }
> }
> {code}
> Patched a single node in our loadtest cluster with this change and after ~ 10 
> hours uptime, no sign of the previously offending class in MAT anymore => 
> cassandra_3.11.1_mat_dominator_classes_FIXED.png
> Can' say if this has any other side effects etc., but I doubt.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Created] (CASSANDRA-13939) Mishandling of cells for removed/dropped columns when reading legacy files

2017-10-05 Thread Sylvain Lebresne (JIRA)
Sylvain Lebresne created CASSANDRA-13939:


 Summary: Mishandling of cells for removed/dropped columns when 
reading legacy files
 Key: CASSANDRA-13939
 URL: https://issues.apache.org/jira/browse/CASSANDRA-13939
 Project: Cassandra
  Issue Type: Bug
  Components: Local Write-Read Paths
Reporter: Sylvain Lebresne
Assignee: Sylvain Lebresne
 Fix For: 3.0.x, 3.11.x


The tl;dr is that there is a bug in reading legacy files that can manifests 
itself with a trace looking like this:
{noformat}
Exception (java.lang.IllegalStateException) encountered during startup: One row 
required, 2 found
java.lang.IllegalStateException: One row required, 2 found
at 
org.apache.cassandra.cql3.UntypedResultSet$FromResultSet.one(UntypedResultSet.java:84)
at 
org.apache.cassandra.schema.LegacySchemaMigrator.readTableTimestamp(LegacySchemaMigrator.java:254)
at 
org.apache.cassandra.schema.LegacySchemaMigrator.readTable(LegacySchemaMigrator.java:244)
at 
org.apache.cassandra.schema.LegacySchemaMigrator.lambda$readTables$7(LegacySchemaMigrator.java:238)
at 
org.apache.cassandra.schema.LegacySchemaMigrator$$Lambda$126/591203139.accept(Unknown
 Source)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at 
org.apache.cassandra.schema.LegacySchemaMigrator.readTables(LegacySchemaMigrator.java:238)
at 
org.apache.cassandra.schema.LegacySchemaMigrator.readKeyspace(LegacySchemaMigrator.java:187)
at 
org.apache.cassandra.schema.LegacySchemaMigrator.lambda$readSchema$4(LegacySchemaMigrator.java:178)
at 
org.apache.cassandra.schema.LegacySchemaMigrator$$Lambda$123/1612073393.accept(Unknown
 Source)
at java.util.ArrayList.forEach(ArrayList.java:1249)
at 
org.apache.cassandra.schema.LegacySchemaMigrator.readSchema(LegacySchemaMigrator.java:178)
{noformat}

The reason this can happen has to do with the handling of legacy files. Legacy 
files are cell based while the 3.0 storage engine is primarily row based, so we 
group those cells into rows early in the deserialization process (in 
{{UnfilteredDeserializer.OldFormatDeserializer}}), but in doing so, we can only 
consider a row finished when we've either reach the end of the partition/file, 
or when we've read a cell that doesn't belong to that row.  That second case 
means that when the deserializer returns a given row, the underlying file 
pointer may actually not positioned at the end of that row, but rather it may 
be past the first cell of the next row (which the deserializer remembers for 
future use). Long story short, when we try to detect if we're logically past 
our current index block in 
{{AbstractIterator.IndexState#isPastCurrentBlock(}}), we can't simply rely on 
the file pointer, which again may be a bit more advanced that we logically are, 
and that's the reason for the "correction" in that method. That correction is 
really just the amount of bytes remembered but not yet used in the deserializer.

That "correction" is sometimes wrong however and that's due to the fact that in 
{{LegacyLayout#readLegacyAtom}}, if we get a cell for an dropped or removed 
cell, we ignore that cell (which, in itself, is fine). Problem is that this 
skipping is done within the {{LegacyLayout#readLegacyAtom}} method but without 
{{UnfilteredDeserializer.OldFormatDeserializer}} knowing about it. As such, the 
size of the skipped cell ends up being accounted in the "correction" bytes for 
the next cell we read. Lo and behold, if such cell for a removed/dropped column 
is both the last cell of a CQL row and just before an index boundary (pretty 
unlikely in general btw, but definitively possible), then the deserializer will 
count its size with the first cell of the next row, which happens to also be 
the first cell of the next index block.  And when the code then tries to figure 
out if it crossed an index boundary, it will over-correct. That is, the 
{{indexState.updateBlock()}} call at the start of 
{{SSTableIterator.ForwardIndexedReader#computeNext}} will not work correctly.  
This can then make the code return a row that is after the requested slice end 
(and should thus not be returned) because it doesn't compare that row to said 
requested end due to thinking it's not on the last index block to read, even 
though it genuinely is.

Anyway, the whole explanation is a tad complex, but the fix isn't: we need to 
move the skipping of cells for removed/dropped column a level up so the 
deserializer knows about it and don't silently count their size in the next 
atom size.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org



[jira] [Assigned] (CASSANDRA-13938) Default repair is broken, crashes other nodes participating in repair (in trunk)

2017-10-05 Thread Jason Brown (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-13938?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Brown reassigned CASSANDRA-13938:
---

Assignee: Jason Brown

> Default repair is broken, crashes other nodes participating in repair (in 
> trunk)
> 
>
> Key: CASSANDRA-13938
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13938
> Project: Cassandra
>  Issue Type: Bug
>  Components: Repair
>Reporter: Nate McCall
>Assignee: Jason Brown
>Priority: Critical
>
> Running through a simple scenario to test some of the new repair features, I 
> was not able to make a repair command work. Further, the exception seemed to 
> trigger a nasty failure state that basically shuts down the netty connections 
> for messaging *and* CQL on the nodes transferring back data to the node being 
> repaired. The following steps reproduce this issue consistently.
> Cassandra stress profile (probably not necessary, but this one provides a 
> really simple schema and consistent data shape):
> {noformat}
> keyspace: standard_long
> keyspace_definition: |
>   CREATE KEYSPACE standard_long WITH replication = {'class':'SimpleStrategy', 
> 'replication_factor':3};
> table: test_data
> table_definition: |
>   CREATE TABLE test_data (
>   key text,
>   ts bigint,
>   val text,
>   PRIMARY KEY (key, ts)
>   ) WITH COMPACT STORAGE AND
>   CLUSTERING ORDER BY (ts DESC) AND
>   bloom_filter_fp_chance=0.01 AND
>   caching={'keys':'ALL', 'rows_per_partition':'NONE'} AND
>   comment='' AND
>   dclocal_read_repair_chance=0.00 AND
>   gc_grace_seconds=864000 AND
>   read_repair_chance=0.00 AND
>   compaction={'class': 'SizeTieredCompactionStrategy'} AND
>   compression={'sstable_compression': 'LZ4Compressor'};
> columnspec:
>   - name: key
> population: uniform(1..5000) # 50 million records available
>   - name: ts
> cluster: gaussian(1..50) # Up to 50 inserts per record
>   - name: val
> population: gaussian(128..1024) # varrying size of value data
> insert:
>   partitions: fixed(1) # only one insert per batch for individual partitions
>   select: fixed(1)/1 # each insert comes in one at a time
>   batchtype: UNLOGGED
> queries:
>   single:
> cql: select * from test_data where key = ? and ts = ? limit 1;
>   series:
> cql: select key,ts,val from test_data where key = ? limit 10;
> {noformat}
> The commands to build and run:
> {noformat}
> ccm create 4_0_test -v git:trunk -n 3 -s
> ccm stress user profile=./histo-test-schema.yml 
> ops\(insert=20,single=1,series=1\) duration=15s -rate threads=4
> # flush the memtable just to get everything on disk
> ccm node1 nodetool flush
> ccm node2 nodetool flush
> ccm node3 nodetool flush
> # disable hints for nodes 2 and 3
> ccm node2 nodetool disablehandoff
> ccm node3 nodetool disablehandoff
> # stop node1
> ccm node1 stop
> ccm stress user profile=./histo-test-schema.yml 
> ops\(insert=20,single=1,series=1\) duration=45s -rate threads=4
> # wait 10 seconds
> ccm node1 start
> # Note that we are local to ccm's nodetool install 'cause repair preview is 
> not reported yet
> node1/bin/nodetool repair --preview
> node1/bin/nodetool repair standard_long test_data
> {noformat} 
> The error outputs from the last repair command follow. First, this is stdout 
> from node1:
> {noformat}
> $ node1/bin/nodetool repair standard_long test_data
> objc[47876]: Class JavaLaunchHelper is implemented in both 
> /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/java 
> (0x10274d4c0) and 
> /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/jre/lib/libinstrument.dylib
>  (0x1047b64e0). One of the two will be used. Which one is undefined.
> [2017-10-05 14:31:52,425] Starting repair command #4 
> (7e1a9150-a98e-11e7-ad86-cbd2801b8de2), repairing keyspace standard_long with 
> repair options (parallelism: parallel, primary range: false, incremental: 
> true, job threads: 1, ColumnFamilies: [test_data], dataCenters: [], hosts: 
> [], previewKind: NONE, # of ranges: 3, pull repair: false, force repair: 
> false)
> [2017-10-05 14:32:07,045] Repair session 7e2e8e80-a98e-11e7-ad86-cbd2801b8de2 
> for range [(3074457345618258602,-9223372036854775808], 
> (-9223372036854775808,-3074457345618258603], 
> (-3074457345618258603,3074457345618258602]] failed with error Stream failed
> [2017-10-05 14:32:07,048] null
> [2017-10-05 14:32:07,050] Repair command #4 finished in 14 seconds
> error: Repair job has failed with the error message: [2017-10-05 
> 14:32:07,048] null
> -- StackTrace --
> java.lang.RuntimeException: Repair job has failed with the error message: 
> [2017-10-05 14:32:07,048] null
> at org.apache.cassandra.tools.RepairRunner.progress(RepairRunner.java:122)
> at 
> 

[jira] [Created] (CASSANDRA-13938) Default repair is broken, crashes other nodes participating in repair (in trunk)

2017-10-05 Thread Nate McCall (JIRA)
Nate McCall created CASSANDRA-13938:
---

 Summary: Default repair is broken, crashes other nodes 
participating in repair (in trunk)
 Key: CASSANDRA-13938
 URL: https://issues.apache.org/jira/browse/CASSANDRA-13938
 Project: Cassandra
  Issue Type: Bug
  Components: Repair
Reporter: Nate McCall
Priority: Critical


Running through a simple scenario to test some of the new repair features, I 
was not able to make a repair command work. Further, the exception seemed to 
trigger a nasty failure state that basically shuts down the netty connections 
for messaging *and* CQL on the nodes transferring back data to the node being 
repaired. The following steps reproduce this issue consistently.

Cassandra stress profile (probably not necessary, but this one provides a 
really simple schema and consistent data shape):
{noformat}
keyspace: standard_long

keyspace_definition: |
  CREATE KEYSPACE standard_long WITH replication = {'class':'SimpleStrategy', 
'replication_factor':3};
table: test_data

table_definition: |
  CREATE TABLE test_data (
  key text,
  ts bigint,
  val text,
  PRIMARY KEY (key, ts)
  ) WITH COMPACT STORAGE AND
  CLUSTERING ORDER BY (ts DESC) AND
  bloom_filter_fp_chance=0.01 AND
  caching={'keys':'ALL', 'rows_per_partition':'NONE'} AND
  comment='' AND
  dclocal_read_repair_chance=0.00 AND
  gc_grace_seconds=864000 AND
  read_repair_chance=0.00 AND
  compaction={'class': 'SizeTieredCompactionStrategy'} AND
  compression={'sstable_compression': 'LZ4Compressor'};

columnspec:
  - name: key
population: uniform(1..5000) # 50 million records available

  - name: ts
cluster: gaussian(1..50) # Up to 50 inserts per record

  - name: val
population: gaussian(128..1024) # varrying size of value data


insert:
  partitions: fixed(1) # only one insert per batch for individual partitions
  select: fixed(1)/1 # each insert comes in one at a time
  batchtype: UNLOGGED

queries:

  single:
cql: select * from test_data where key = ? and ts = ? limit 1;

  series:
cql: select key,ts,val from test_data where key = ? limit 10;
{noformat}

The commands to build and run:
{noformat}
ccm create 4_0_test -v git:trunk -n 3 -s
ccm stress user profile=./histo-test-schema.yml 
ops\(insert=20,single=1,series=1\) duration=15s -rate threads=4
# flush the memtable just to get everything on disk
ccm node1 nodetool flush
ccm node2 nodetool flush
ccm node3 nodetool flush
# disable hints for nodes 2 and 3
ccm node2 nodetool disablehandoff
ccm node3 nodetool disablehandoff
# stop node1
ccm node1 stop
ccm stress user profile=./histo-test-schema.yml 
ops\(insert=20,single=1,series=1\) duration=45s -rate threads=4
# wait 10 seconds
ccm node1 start
# Note that we are local to ccm's nodetool install 'cause repair preview is not 
reported yet
node1/bin/nodetool repair --preview
node1/bin/nodetool repair standard_long test_data
{noformat} 

The error outputs from the last repair command follow. First, this is stdout 
from node1:
{noformat}
$ node1/bin/nodetool repair standard_long test_data
objc[47876]: Class JavaLaunchHelper is implemented in both 
/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/bin/java 
(0x10274d4c0) and 
/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home/jre/lib/libinstrument.dylib
 (0x1047b64e0). One of the two will be used. Which one is undefined.
[2017-10-05 14:31:52,425] Starting repair command #4 
(7e1a9150-a98e-11e7-ad86-cbd2801b8de2), repairing keyspace standard_long with 
repair options (parallelism: parallel, primary range: false, incremental: true, 
job threads: 1, ColumnFamilies: [test_data], dataCenters: [], hosts: [], 
previewKind: NONE, # of ranges: 3, pull repair: false, force repair: false)
[2017-10-05 14:32:07,045] Repair session 7e2e8e80-a98e-11e7-ad86-cbd2801b8de2 
for range [(3074457345618258602,-9223372036854775808], 
(-9223372036854775808,-3074457345618258603], 
(-3074457345618258603,3074457345618258602]] failed with error Stream failed
[2017-10-05 14:32:07,048] null
[2017-10-05 14:32:07,050] Repair command #4 finished in 14 seconds
error: Repair job has failed with the error message: [2017-10-05 14:32:07,048] 
null
-- StackTrace --
java.lang.RuntimeException: Repair job has failed with the error message: 
[2017-10-05 14:32:07,048] null
at org.apache.cassandra.tools.RepairRunner.progress(RepairRunner.java:122)
at 
org.apache.cassandra.utils.progress.jmx.JMXNotificationProgressListener.handleNotification(JMXNotificationProgressListener.java:77)
at 
com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.dispatchNotification(ClientNotifForwarder.java:583)
at 
com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.doRun(ClientNotifForwarder.java:533)
at 
com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.run(ClientNotifForwarder.java:452)
at