[jira] [Updated] (CASSANDRA-14314) Fix argument passing for SSLContext in trunk
[ https://issues.apache.org/jira/browse/CASSANDRA-14314?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dinesh Joshi updated CASSANDRA-14314: - Status: Patch Available (was: Open) > Fix argument passing for SSLContext in trunk > > > Key: CASSANDRA-14314 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14314 > Project: Cassandra > Issue Type: Bug >Reporter: Dinesh Joshi >Assignee: Dinesh Joshi >Priority: Major > > Argument passing has a minor bug while creating the SSLContext. Audit and > make sure that the client & server SSL contexts are created at appropriate > locations. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14314) Fix argument passing for SSLContext in trunk
[ https://issues.apache.org/jira/browse/CASSANDRA-14314?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399929#comment-16399929 ] Dinesh Joshi commented on CASSANDRA-14314: -- [~jasobrown] - please review. ||sslfactory|| |[branch|https://github.com/dineshjoshi/cassandra/tree/fix-args-to-sslfactory]| |[utests dtests|https://circleci.com/gh/dineshjoshi/workflows/cassandra/tree/fix-args-to-sslfactory]| || > Fix argument passing for SSLContext in trunk > > > Key: CASSANDRA-14314 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14314 > Project: Cassandra > Issue Type: Bug >Reporter: Dinesh Joshi >Assignee: Dinesh Joshi >Priority: Major > > Argument passing has a minor bug while creating the SSLContext. Audit and > make sure that the client & server SSL contexts are created at appropriate > locations. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Created] (CASSANDRA-14314) Fix argument passing for SSLContext in trunk
Dinesh Joshi created CASSANDRA-14314: Summary: Fix argument passing for SSLContext in trunk Key: CASSANDRA-14314 URL: https://issues.apache.org/jira/browse/CASSANDRA-14314 Project: Cassandra Issue Type: Bug Reporter: Dinesh Joshi Assignee: Dinesh Joshi Argument passing has a minor bug while creating the SSLContext. Audit and make sure that the client & server SSL contexts are created at appropriate locations. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Comment Edited] (CASSANDRA-14247) SASI tokenizer for simple delimiter based entries
[ https://issues.apache.org/jira/browse/CASSANDRA-14247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399888#comment-16399888 ] mck edited comment on CASSANDRA-14247 at 3/15/18 4:20 AM: -- {quote}the only other thought i have is if the in-tree documentation needs to be updated give this is something people interact with via CQL and schema updates.{quote} Yes I better do that. Good catch! EDIT: there's actually no CQL/schema docs down to the details of SASI options. But i'll add the relevant section to {{doc/SASI.md}}. was (Author: michaelsembwever): {quote}the only other thought i have is if the in-tree documentation needs to be updated give this is something people interact with via CQL and schema updates.{quote} Yes I better do that. Good catch! > SASI tokenizer for simple delimiter based entries > - > > Key: CASSANDRA-14247 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14247 > Project: Cassandra > Issue Type: Improvement > Components: sasi >Reporter: mck >Assignee: mck >Priority: Major > Labels: sasi > Fix For: 4.0, 3.11.x > > > Currently SASI offers only two tokenizer options: > - NonTokenizerAnalyser > - StandardAnalyzer > The latter is built upon Snowball, powerful for human languages but overkill > for simple tokenization. > A simple tokenizer is proposed here. The need for this arose as a workaround > of CASSANDRA-11182, and to avoid the disk usage explosion when having to > resort to {{CONTAINS}}. See https://github.com/openzipkin/zipkin/issues/1861 > Example use of this would be: > {code} > CREATE CUSTOM INDEX span_annotation_query_idx > ON zipkin2.span (annotation_query) USING > 'org.apache.cassandra.index.sasi.SASIIndex' > WITH OPTIONS = { > 'analyzer_class': > 'org.apache.cassandra.index.sasi.analyzer.DelimiterAnalyzer', > 'delimiter': '░', > 'case_sensitive': 'true', > 'mode': 'prefix', > 'analyzed': 'true'}; > {code} > Original credit for this work goes to https://github.com/zuochangan -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14247) SASI tokenizer for simple delimiter based entries
[ https://issues.apache.org/jira/browse/CASSANDRA-14247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399888#comment-16399888 ] mck commented on CASSANDRA-14247: - {quote}the only other thought i have is if the in-tree documentation needs to be updated give this is something people interact with via CQL and schema updates.{quote} Yes I better do that. Good catch! > SASI tokenizer for simple delimiter based entries > - > > Key: CASSANDRA-14247 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14247 > Project: Cassandra > Issue Type: Improvement > Components: sasi >Reporter: mck >Assignee: mck >Priority: Major > Labels: sasi > Fix For: 4.0, 3.11.x > > > Currently SASI offers only two tokenizer options: > - NonTokenizerAnalyser > - StandardAnalyzer > The latter is built upon Snowball, powerful for human languages but overkill > for simple tokenization. > A simple tokenizer is proposed here. The need for this arose as a workaround > of CASSANDRA-11182, and to avoid the disk usage explosion when having to > resort to {{CONTAINS}}. See https://github.com/openzipkin/zipkin/issues/1861 > Example use of this would be: > {code} > CREATE CUSTOM INDEX span_annotation_query_idx > ON zipkin2.span (annotation_query) USING > 'org.apache.cassandra.index.sasi.SASIIndex' > WITH OPTIONS = { > 'analyzer_class': > 'org.apache.cassandra.index.sasi.analyzer.DelimiterAnalyzer', > 'delimiter': '░', > 'case_sensitive': 'true', > 'mode': 'prefix', > 'analyzed': 'true'}; > {code} > Original credit for this work goes to https://github.com/zuochangan -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14247) SASI tokenizer for simple delimiter based entries
[ https://issues.apache.org/jira/browse/CASSANDRA-14247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399887#comment-16399887 ] Michael Kjellman commented on CASSANDRA-14247: -- latest commit looks good so +1 on the latest commits! the only other thought i have is if the in-tree documentation needs to be updated give this is something people interact with via CQL and schema updates. > SASI tokenizer for simple delimiter based entries > - > > Key: CASSANDRA-14247 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14247 > Project: Cassandra > Issue Type: Improvement > Components: sasi >Reporter: mck >Assignee: mck >Priority: Major > Labels: sasi > Fix For: 4.0, 3.11.x > > > Currently SASI offers only two tokenizer options: > - NonTokenizerAnalyser > - StandardAnalyzer > The latter is built upon Snowball, powerful for human languages but overkill > for simple tokenization. > A simple tokenizer is proposed here. The need for this arose as a workaround > of CASSANDRA-11182, and to avoid the disk usage explosion when having to > resort to {{CONTAINS}}. See https://github.com/openzipkin/zipkin/issues/1861 > Example use of this would be: > {code} > CREATE CUSTOM INDEX span_annotation_query_idx > ON zipkin2.span (annotation_query) USING > 'org.apache.cassandra.index.sasi.SASIIndex' > WITH OPTIONS = { > 'analyzer_class': > 'org.apache.cassandra.index.sasi.analyzer.DelimiterAnalyzer', > 'delimiter': '░', > 'case_sensitive': 'true', > 'mode': 'prefix', > 'analyzed': 'true'}; > {code} > Original credit for this work goes to https://github.com/zuochangan -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14247) SASI tokenizer for simple delimiter based entries
[ https://issues.apache.org/jira/browse/CASSANDRA-14247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] mck updated CASSANDRA-14247: Labels: sasi (was: ) Reviewer: Michael Kjellman Status: Patch Available (was: In Progress) > SASI tokenizer for simple delimiter based entries > - > > Key: CASSANDRA-14247 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14247 > Project: Cassandra > Issue Type: Improvement > Components: sasi >Reporter: mck >Assignee: mck >Priority: Major > Labels: sasi > Fix For: 4.0, 3.11.x > > > Currently SASI offers only two tokenizer options: > - NonTokenizerAnalyser > - StandardAnalyzer > The latter is built upon Snowball, powerful for human languages but overkill > for simple tokenization. > A simple tokenizer is proposed here. The need for this arose as a workaround > of CASSANDRA-11182, and to avoid the disk usage explosion when having to > resort to {{CONTAINS}}. See https://github.com/openzipkin/zipkin/issues/1861 > Example use of this would be: > {code} > CREATE CUSTOM INDEX span_annotation_query_idx > ON zipkin2.span (annotation_query) USING > 'org.apache.cassandra.index.sasi.SASIIndex' > WITH OPTIONS = { > 'analyzer_class': > 'org.apache.cassandra.index.sasi.analyzer.DelimiterAnalyzer', > 'delimiter': '░', > 'case_sensitive': 'true', > 'mode': 'prefix', > 'analyzed': 'true'}; > {code} > Original credit for this work goes to https://github.com/zuochangan -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Comment Edited] (CASSANDRA-14247) SASI tokenizer for simple delimiter based entries
[ https://issues.apache.org/jira/browse/CASSANDRA-14247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399884#comment-16399884 ] mck edited comment on CASSANDRA-14247 at 3/15/18 3:56 AM: -- [~mkjellman], {quote}one thing that stuck out to me was this while loop that didn't actually "do" anything but it does do something... could you at least throw a comment in just to make it a bit more readable?{quote} comment thrown in :-) The byte buffer approach is pushed to the trunk_14247 and cassandra-3.11_14247 branches. The rationale to adding this patch also to cassandra-3.11 is it's an important stability workaround to {{\{mode:CONTAINS\}}}, and is a standalone class, annotated as {{@Beta}}, that does not touch any other code . The following patches have been submitted: || branch || testall || dtest || | [cassandra-3.11_14247|https://github.com/thelastpickle/cassandra/tree/mck/cassandra-3.11_14247] | [testall|https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Fcassandra-3.11_14247] | [dtest|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/512] | | [trunk_14247|https://github.com/thelastpickle/cassandra/tree/mck/trunk_14247] | [testall|https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Ftrunk_14247] | [dtest|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/513] | was (Author: michaelsembwever): [~mkjellman], {quote}one thing that stuck out to me was this while loop that didn't actually "do" anything but it does do something... could you at least throw a comment in just to make it a bit more readable?{quote} comment thrown in :-) The byte buffer approach is pushed to the trunk_14247 and cassandra-3.11_14247 branches. The rationale to adding this patch also to cassandra-3.11 is it's an important stability workaround to {{mode: CONTAINS}}, and it is an additional standalone class that does not touch other code which has been annotated as {{@Beta}}. The following patches have been submitted: || branch || testall || dtest || | [cassandra-3.11_14247|https://github.com/thelastpickle/cassandra/tree/mck/cassandra-3.11_14247] | [testall|https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Fcassandra-3.11_14247] | [dtest|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/512] | | [trunk_14247|https://github.com/thelastpickle/cassandra/tree/mck/trunk_14247] | [testall|https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Ftrunk_14247] | [dtest|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/513] | > SASI tokenizer for simple delimiter based entries > - > > Key: CASSANDRA-14247 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14247 > Project: Cassandra > Issue Type: Improvement > Components: sasi >Reporter: mck >Assignee: mck >Priority: Major > Fix For: 4.0, 3.11.x > > > Currently SASI offers only two tokenizer options: > - NonTokenizerAnalyser > - StandardAnalyzer > The latter is built upon Snowball, powerful for human languages but overkill > for simple tokenization. > A simple tokenizer is proposed here. The need for this arose as a workaround > of CASSANDRA-11182, and to avoid the disk usage explosion when having to > resort to {{CONTAINS}}. See https://github.com/openzipkin/zipkin/issues/1861 > Example use of this would be: > {code} > CREATE CUSTOM INDEX span_annotation_query_idx > ON zipkin2.span (annotation_query) USING > 'org.apache.cassandra.index.sasi.SASIIndex' > WITH OPTIONS = { > 'analyzer_class': > 'org.apache.cassandra.index.sasi.analyzer.DelimiterAnalyzer', > 'delimiter': '░', > 'case_sensitive': 'true', > 'mode': 'prefix', > 'analyzed': 'true'}; > {code} > Original credit for this work goes to https://github.com/zuochangan -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14247) SASI tokenizer for simple delimiter based entries
[ https://issues.apache.org/jira/browse/CASSANDRA-14247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399884#comment-16399884 ] mck commented on CASSANDRA-14247: - [~mkjellman], {quote}one thing that stuck out to me was this while loop that didn't actually "do" anything but it does do something... could you at least throw a comment in just to make it a bit more readable?{quote} comment thrown in :-) The byte buffer approach is pushed to the trunk_14247 and cassandra-3.11_14247 branches. The rationale to adding this patch also to cassandra-3.11 is it's an important stability workaround to {{mode: CONTAINS}}, and it is an additional standalone class that does not touch other code which has been annotated as {{@Beta}}. The following patches have been submitted: || branch || testall || dtest || | [cassandra-3.11_14247|https://github.com/thelastpickle/cassandra/tree/mck/cassandra-3.11_14247] | [testall|https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Fcassandra-3.11_14247] | [dtest|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/512] | | [trunk_14247|https://github.com/thelastpickle/cassandra/tree/mck/trunk_14247] | [testall|https://circleci.com/gh/thelastpickle/cassandra/tree/mck%2Ftrunk_14247] | [dtest|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/513] | > SASI tokenizer for simple delimiter based entries > - > > Key: CASSANDRA-14247 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14247 > Project: Cassandra > Issue Type: Improvement > Components: sasi >Reporter: mck >Assignee: mck >Priority: Major > Fix For: 4.0, 3.11.x > > > Currently SASI offers only two tokenizer options: > - NonTokenizerAnalyser > - StandardAnalyzer > The latter is built upon Snowball, powerful for human languages but overkill > for simple tokenization. > A simple tokenizer is proposed here. The need for this arose as a workaround > of CASSANDRA-11182, and to avoid the disk usage explosion when having to > resort to {{CONTAINS}}. See https://github.com/openzipkin/zipkin/issues/1861 > Example use of this would be: > {code} > CREATE CUSTOM INDEX span_annotation_query_idx > ON zipkin2.span (annotation_query) USING > 'org.apache.cassandra.index.sasi.SASIIndex' > WITH OPTIONS = { > 'analyzer_class': > 'org.apache.cassandra.index.sasi.analyzer.DelimiterAnalyzer', > 'delimiter': '░', > 'case_sensitive': 'true', > 'mode': 'prefix', > 'analyzed': 'true'}; > {code} > Original credit for this work goes to https://github.com/zuochangan -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13851) Allow existing nodes to use all peers in shadow round
[ https://issues.apache.org/jira/browse/CASSANDRA-13851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399825#comment-16399825 ] Kurt Greaves commented on CASSANDRA-13851: -- Ah sure thing. Sorry about that. dtest changes LGTM but looks like {{test_startup_non_seed_with_peers}} is failing on trunk (unrelated to changes). I'll take a look. > Allow existing nodes to use all peers in shadow round > - > > Key: CASSANDRA-13851 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13851 > Project: Cassandra > Issue Type: Bug > Components: Lifecycle >Reporter: Kurt Greaves >Assignee: Kurt Greaves >Priority: Major > Fix For: 3.11.x, 4.x > > > In CASSANDRA-10134 we made collision checks necessary on every startup. A > side-effect was introduced that then requires a nodes seeds to be contacted > on every startup. Prior to this change an existing node could start up > regardless whether it could contact a seed node or not (because > checkForEndpointCollision() was only called for bootstrapping nodes). > Now if a nodes seeds are removed/deleted/fail it will no longer be able to > start up until live seeds are configured (or itself is made a seed), even > though it already knows about the rest of the ring. This is inconvenient for > operators and has the potential to cause some nasty surprises and increase > downtime. > One solution would be to use all a nodes existing peers as seeds in the > shadow round. Not a Gossip guru though so not sure of implications. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14118) Refactor write path
[ https://issues.apache.org/jira/browse/CASSANDRA-14118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399729#comment-16399729 ] Blake Eggleston commented on CASSANDRA-14118: - It might save you some time if wait until the read path patch is farther along in review before starting any serious work on this one. I have some notes about that patch that will probably inform this one > Refactor write path > --- > > Key: CASSANDRA-14118 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14118 > Project: Cassandra > Issue Type: Sub-task > Components: Core >Reporter: Dikang Gu >Assignee: Dikang Gu >Priority: Major > > As part of the pluggable storage engine effort, we'd like to modularize the > write path related code, make it to be independent from existing storage > engine implementation details. > For now, refer to > https://docs.google.com/document/d/1suZlvhzgB6NIyBNpM9nxoHxz_Ri7qAm-UEO8v8AIFsc > for high level designs. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14233) nodetool tablestats/cfstats output has inconsistent formatting for latency
[ https://issues.apache.org/jira/browse/CASSANDRA-14233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399609#comment-16399609 ] ASF GitHub Bot commented on CASSANDRA-14233: Github user sproberts92 closed the pull request at: https://github.com/apache/cassandra/pull/195 > nodetool tablestats/cfstats output has inconsistent formatting for latency > -- > > Key: CASSANDRA-14233 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14233 > Project: Cassandra > Issue Type: Bug >Reporter: Samuel Roberts >Assignee: Samuel Roberts >Priority: Trivial > Fix For: 3.11.2, 4.0 > > Original Estimate: 10m > Remaining Estimate: 10m > > Latencies are reported at keyspace level with `ms.` and at table level with > `ms`. > There should be no trailing `.` as it is not a sentence and `.` is not part > of the abbreviation. > This is also present in 2.x with `nodetool cfstats`. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Comment Edited] (CASSANDRA-14118) Refactor write path
[ https://issues.apache.org/jira/browse/CASSANDRA-14118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399583#comment-16399583 ] Dikang Gu edited comment on CASSANDRA-14118 at 3/14/18 11:06 PM: - I'm trying to move the Tracker, the memtable and sstable concepts, out of ColumnFamilyStore, to a CassandraStorageHandler class. The work is happening [here|https://github.com/DikangGu/cassandra/commits/CASSANDRA-14118-v1] . was (Author: dikanggu): I'm trying to move the Tracker, the memtable and sstable concepts to a CassandraStorageHandler class. The work is happening [here|https://github.com/DikangGu/cassandra/commits/CASSANDRA-14118-v1] . > Refactor write path > --- > > Key: CASSANDRA-14118 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14118 > Project: Cassandra > Issue Type: Sub-task > Components: Core >Reporter: Dikang Gu >Assignee: Dikang Gu >Priority: Major > > As part of the pluggable storage engine effort, we'd like to modularize the > write path related code, make it to be independent from existing storage > engine implementation details. > For now, refer to > https://docs.google.com/document/d/1suZlvhzgB6NIyBNpM9nxoHxz_Ri7qAm-UEO8v8AIFsc > for high level designs. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14118) Refactor write path
[ https://issues.apache.org/jira/browse/CASSANDRA-14118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399583#comment-16399583 ] Dikang Gu commented on CASSANDRA-14118: --- I'm trying to move the Tracker, the memtable and sstable concepts to a CassandraStorageHandler class. The work is happening [here|https://github.com/DikangGu/cassandra/commits/CASSANDRA-14118-v1] . > Refactor write path > --- > > Key: CASSANDRA-14118 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14118 > Project: Cassandra > Issue Type: Sub-task > Components: Core >Reporter: Dikang Gu >Assignee: Dikang Gu >Priority: Major > > As part of the pluggable storage engine effort, we'd like to modularize the > write path related code, make it to be independent from existing storage > engine implementation details. > For now, refer to > https://docs.google.com/document/d/1suZlvhzgB6NIyBNpM9nxoHxz_Ri7qAm-UEO8v8AIFsc > for high level designs. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14294) forced incremental repairs should promote sstables if they can
[ https://issues.apache.org/jira/browse/CASSANDRA-14294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Blake Eggleston updated CASSANDRA-14294: Resolution: Fixed Status: Resolved (was: Ready to Commit) fixed and committed as {{d4dfbb5c678415e63bb7cf7dfd78518dfa6ea7b9}} to trunk and {{1888c4048b65c447733a2759f32472a7004eb46f}} to dtests master > forced incremental repairs should promote sstables if they can > -- > > Key: CASSANDRA-14294 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14294 > Project: Cassandra > Issue Type: Improvement >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Minor > Fix For: 4.0 > > > If you run an incremental repair with the {{--force}} flag, sstables won't be > promoted to repaired. We want this to be the case if we're actually excluding > replicas from the repair, but if all replicas are available for the repair, > there's no reason not to promote -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra-dtest git commit: Add test for CASSANDRA-14294
Repository: cassandra-dtest Updated Branches: refs/heads/master 7f5d9c0f3 -> 1888c4048 Add test for CASSANDRA-14294 Patch by Blake Eggleston; Reviewed by Marcus Eriksson for CASSANDRA-14294 Project: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/commit/1888c404 Tree: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/tree/1888c404 Diff: http://git-wip-us.apache.org/repos/asf/cassandra-dtest/diff/1888c404 Branch: refs/heads/master Commit: 1888c4048b65c447733a2759f32472a7004eb46f Parents: 7f5d9c0 Author: Blake EgglestonAuthored: Wed Mar 7 09:54:27 2018 -0800 Committer: Blake Eggleston Committed: Wed Mar 14 15:32:46 2018 -0700 -- repair_tests/incremental_repair_test.py | 30 +++- 1 file changed, 29 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra-dtest/blob/1888c404/repair_tests/incremental_repair_test.py -- diff --git a/repair_tests/incremental_repair_test.py b/repair_tests/incremental_repair_test.py index 37ee64a..e913a7c 100644 --- a/repair_tests/incremental_repair_test.py +++ b/repair_tests/incremental_repair_test.py @@ -812,7 +812,7 @@ class TestIncRepair(Tester): for i in range(10): session.execute(stmt, (i, i)) -node2.stop() +node2.stop(wait_other_notice=True) # repair should fail because node2 is down with pytest.raises(ToolError): @@ -826,6 +826,34 @@ class TestIncRepair(Tester): self.assertNoRepairedSSTables(node2, 'ks') @since('4.0') +def test_force_with_none_down(self): +""" +if we force an incremental repair, but all the involved nodes are up, +we should run normally and promote sstables afterwards +""" +self.fixture_dtest_setup.setup_overrides.cluster_options = ImmutableMapping({'hinted_handoff_enabled': 'false', + 'num_tokens': 1, + 'commitlog_sync_period_in_ms': 500}) +self.cluster.populate(3).start() +node1, node2, node3 = self.cluster.nodelist() + +session = self.patient_exclusive_cql_connection(node3) +session.execute("CREATE KEYSPACE ks WITH REPLICATION={'class':'SimpleStrategy', 'replication_factor': 3}") +session.execute("CREATE TABLE ks.tbl (k INT PRIMARY KEY, v INT)") +stmt = SimpleStatement("INSERT INTO ks.tbl (k,v) VALUES (%s, %s)") +stmt.consistency_level = ConsistencyLevel.ALL +for i in range(10): +session.execute(stmt, (i, i)) + +# run with force flag +node1.repair(options=['ks', '--force']) + +# ... and verify everything was still promoted +self.assertAllRepairedSSTables(node1, 'ks') +self.assertAllRepairedSSTables(node2, 'ks') +self.assertAllRepairedSSTables(node3, 'ks') + +@since('4.0') def test_hosts(self): """ running an incremental repair with hosts specified should incrementally repair - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
cassandra git commit: Forced incremental repairs should promote sstables if they can
Repository: cassandra Updated Branches: refs/heads/trunk de12f29dc -> d4dfbb5c6 Forced incremental repairs should promote sstables if they can Patch by Blake Eggleston; Reviewed by Marcus Eriksson for CASSANDRA-14294 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d4dfbb5c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d4dfbb5c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d4dfbb5c Branch: refs/heads/trunk Commit: d4dfbb5c678415e63bb7cf7dfd78518dfa6ea7b9 Parents: de12f29 Author: Blake EgglestonAuthored: Wed Mar 7 09:35:02 2018 -0800 Committer: Blake Eggleston Committed: Wed Mar 14 15:28:36 2018 -0700 -- CHANGES.txt | 1 + .../apache/cassandra/repair/RepairRunnable.java | 20 ++-- .../repair/consistent/CoordinatorSessions.java | 9 +++-- .../cassandra/service/ActiveRepairService.java | 17 ++--- .../consistent/CoordinatorSessionsTest.java | 12 ++-- .../service/ActiveRepairServiceTest.java| 14 -- 6 files changed, 46 insertions(+), 27 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4dfbb5c/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index c7517d7..f2b9f7c 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 4.0 + * Forced incremental repairs should promote sstables if they can (CASSANDRA-14294) * Use Murmur3 for validation compactions (CASSANDRA-14002) * Comma at the end of the seed list is interpretated as localhost (CASSANDRA-14285) * Refactor read executor and response resolver, abstract read repair (CASSANDRA-14058) http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4dfbb5c/src/java/org/apache/cassandra/repair/RepairRunnable.java -- diff --git a/src/java/org/apache/cassandra/repair/RepairRunnable.java b/src/java/org/apache/cassandra/repair/RepairRunnable.java index 89177ee..4097715 100644 --- a/src/java/org/apache/cassandra/repair/RepairRunnable.java +++ b/src/java/org/apache/cassandra/repair/RepairRunnable.java @@ -234,7 +234,7 @@ public class RepairRunnable extends WrappedRunnable implements ProgressEventNoti traceState = null; } -final Set allNeighbors = new HashSet<>(); +Set allNeighbors = new HashSet<>(); List commonRanges = new ArrayList<>(); //pre-calculate output of getLocalRanges and pass it to getNeighbors to increase performance and prevent @@ -286,9 +286,18 @@ public class RepairRunnable extends WrappedRunnable implements ProgressEventNoti SystemDistributedKeyspace.startParentRepair(parentSession, keyspace, cfnames, options); } +boolean force = options.isForcedRepair(); + +if (force && options.isIncremental()) +{ +Set actualNeighbors = Sets.newHashSet(Iterables.filter(allNeighbors, FailureDetector.instance::isAlive)); +force = !allNeighbors.equals(actualNeighbors); +allNeighbors = actualNeighbors; +} + try (Timer.Context ctx = Keyspace.open(keyspace).metric.repairPrepareTime.time()) { -ActiveRepairService.instance.prepareForRepair(parentSession, FBUtilities.getBroadcastAddressAndPort(), allNeighbors, options, columnFamilyStores); +ActiveRepairService.instance.prepareForRepair(parentSession, FBUtilities.getBroadcastAddressAndPort(), allNeighbors, options, force, columnFamilyStores); progress.incrementAndGet(); } catch (Throwable t) @@ -307,7 +316,7 @@ public class RepairRunnable extends WrappedRunnable implements ProgressEventNoti } else if (options.isIncremental()) { -incrementalRepair(parentSession, startTime, options.isForcedRepair(), traceState, allNeighbors, commonRanges, cfnames); +incrementalRepair(parentSession, startTime, force, traceState, allNeighbors, commonRanges, cfnames); } else { @@ -398,15 +407,14 @@ public class RepairRunnable extends WrappedRunnable implements ProgressEventNoti String... cfnames) { // the local node also needs to be included in the set of participants, since coordinator sessions aren't persisted -Predicate isAlive = FailureDetector.instance::isAlive; Set allParticipants = ImmutableSet.builder() - .addAll(forceRepair ? Iterables.filter(allNeighbors, isAlive) : allNeighbors) + .addAll(allNeighbors)
[jira] [Commented] (CASSANDRA-5836) Seed nodes should be able to bootstrap without manual intervention
[ https://issues.apache.org/jira/browse/CASSANDRA-5836?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399485#comment-16399485 ] Kurt Greaves commented on CASSANDRA-5836: - bq. I believe it would be still required to set it to false, unless you want to replace this recommendation with running TRUNCATE system.available_ranges post-bootstrap on every node of the new DC. Otherwise, nodetool rebuild is not going to do anything because the new nodes would think that they already have all the data due to bootstrap. Or am I missing something? {{system.available_ranges}} works off keyspaces, so rebuild will still work fine as long as you didn't add RF before provisioning the DC (e.g you didn't bootstrap the NTS keyspaces). It's not really a big deal either way. bq. At the same time, new cluster startup process can be arbitrarily complex No, it can't. That's not a good introduction to Cassandra. Cassandra is hard enough to use as it is, and we really shouldn't be making operations more complex. Software exists to make things easier for humans; we shouldn't shy away from complexity just because it makes the code harder to understand. That defeats the purpose of writing code in the first place. I still think this is a really bad idea and having this all handled in the code is a much better solution. Far more logical to be able to say that "All nodes will respect the auto_bootstrap setting regardless of their configuration". The only caveat is that the first node won't bootstrap, but to users this is irrelevant and they don't need to know about it. To users it's all the same to them as bootstrapping when there are no other nodes is a no-op. > Seed nodes should be able to bootstrap without manual intervention > -- > > Key: CASSANDRA-5836 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5836 > Project: Cassandra > Issue Type: Bug >Reporter: Bill Hathaway >Priority: Minor > > The current logic doesn't allow a seed node to be bootstrapped. If a user > wants to bootstrap a node configured as a seed (for example to replace a seed > node via replace_token), they first need to remove the node's own IP from the > seed list, and then start the bootstrap process. This seems like an > unnecessary step since a node never uses itself as a seed. > I think it would be a better experience if the logic was changed to allow a > seed node to bootstrap without manual intervention when there are other seed > nodes up in a ring. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-7622) Implement virtual tables
[ https://issues.apache.org/jira/browse/CASSANDRA-7622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399353#comment-16399353 ] Chris Lohfink commented on CASSANDRA-7622: -- Oh I see you mean you want to be able to grant custom privileges within a table. Currently we would need a custom IAuthorizer, to check if its a virtual table and hand some custom options to the vtable is a nice idea but yeah - better as a follow on ticket. > Implement virtual tables > > > Key: CASSANDRA-7622 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7622 > Project: Cassandra > Issue Type: Improvement >Reporter: Tupshin Harper >Assignee: Chris Lohfink >Priority: Major > Fix For: 4.x > > > There are a variety of reasons to want virtual tables, which would be any > table that would be backed by an API, rather than data explicitly managed and > stored as sstables. > One possible use case would be to expose JMX data through CQL as a > resurrection of CASSANDRA-3527. > Another is a more general framework to implement the ability to expose yaml > configuration information. So it would be an alternate approach to > CASSANDRA-7370. > A possible implementation would be in terms of CASSANDRA-7443, but I am not > presupposing. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-7622) Implement virtual tables
[ https://issues.apache.org/jira/browse/CASSANDRA-7622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399241#comment-16399241 ] Chris Lohfink commented on CASSANDRA-7622: -- Since the RBAC is applied on statement before execute, and execute is where the virtual table shim sits it works as it does with other tables. > Implement virtual tables > > > Key: CASSANDRA-7622 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7622 > Project: Cassandra > Issue Type: Improvement >Reporter: Tupshin Harper >Assignee: Chris Lohfink >Priority: Major > Fix For: 4.x > > > There are a variety of reasons to want virtual tables, which would be any > table that would be backed by an API, rather than data explicitly managed and > stored as sstables. > One possible use case would be to expose JMX data through CQL as a > resurrection of CASSANDRA-3527. > Another is a more general framework to implement the ability to expose yaml > configuration information. So it would be an alternate approach to > CASSANDRA-7370. > A possible implementation would be in terms of CASSANDRA-7443, but I am not > presupposing. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-7544) Allow storage port to be configurable per node
[ https://issues.apache.org/jira/browse/CASSANDRA-7544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399020#comment-16399020 ] Jeff Jirsa commented on CASSANDRA-7544: --- No - it's very invasive, and it was written on top of a networking refactor that would be incredibly painful to re-write for 3.11. It would also introduce a lot of risk into 3.11, which is a few releases in and needs to stabilize. > Allow storage port to be configurable per node > -- > > Key: CASSANDRA-7544 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7544 > Project: Cassandra > Issue Type: Improvement >Reporter: Sam Overton >Assignee: Ariel Weisberg >Priority: Major > Fix For: 4.0 > > > Currently storage_port must be configured identically on all nodes in a > cluster and it is assumed that this is the case when connecting to a remote > node. > This prevents running in any environment that requires multiple nodes to be > able to bind to the same network interface, such as with many automatic > provisioning/deployment frameworks. > The current solutions seems to be > * use a separate network interface for each node deployed to the same box. > This puts a big requirement on IP allocation at large scale. > * allow multiple clusters to be provisioned from the same resource pool, but > restrict allocation to a maximum of one node per host from each cluster, > assuming each cluster is running on a different storage port. > It would make operations much simpler in these kind of environments if the > environment provisioning the resources could assign the ports to be used when > bringing up a new node on shared hardware. > The changes required would be at least the following: > 1. configure seeds as IP:port instead of just IP > 2. gossip the storage port as part of a node's ApplicationState > 3. refer internally to nodes by hostID instead of IP, since there will be > multiple nodes with the same IP > (1) & (2) are mostly trivial and I already have a patch for these. The bulk > of the work to enable this is (3), and I would structure this as a separate > pre-requisite patch. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-7544) Allow storage port to be configurable per node
[ https://issues.apache.org/jira/browse/CASSANDRA-7544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16399015#comment-16399015 ] Chris Remshaw commented on CASSANDRA-7544: -- Is there any possibility of merging this resolution into a 3.x release? > Allow storage port to be configurable per node > -- > > Key: CASSANDRA-7544 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7544 > Project: Cassandra > Issue Type: Improvement >Reporter: Sam Overton >Assignee: Ariel Weisberg >Priority: Major > Fix For: 4.0 > > > Currently storage_port must be configured identically on all nodes in a > cluster and it is assumed that this is the case when connecting to a remote > node. > This prevents running in any environment that requires multiple nodes to be > able to bind to the same network interface, such as with many automatic > provisioning/deployment frameworks. > The current solutions seems to be > * use a separate network interface for each node deployed to the same box. > This puts a big requirement on IP allocation at large scale. > * allow multiple clusters to be provisioned from the same resource pool, but > restrict allocation to a maximum of one node per host from each cluster, > assuming each cluster is running on a different storage port. > It would make operations much simpler in these kind of environments if the > environment provisioning the resources could assign the ports to be used when > bringing up a new node on shared hardware. > The changes required would be at least the following: > 1. configure seeds as IP:port instead of just IP > 2. gossip the storage port as part of a node's ApplicationState > 3. refer internally to nodes by hostID instead of IP, since there will be > multiple nodes with the same IP > (1) & (2) are mostly trivial and I already have a patch for these. The bulk > of the work to enable this is (3), and I would structure this as a separate > pre-requisite patch. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14313) Maintain a separate repository for the online documentation
[ https://issues.apache.org/jira/browse/CASSANDRA-14313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398988#comment-16398988 ] Kenneth Brotman commented on CASSANDRA-14313: - If you are agreeable, I suggest we call for two days of final comments and then a vote (or whatever is the proper way) > Maintain a separate repository for the online documentation > --- > > Key: CASSANDRA-14313 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14313 > Project: Cassandra > Issue Type: Improvement >Reporter: Kenneth Brotman >Priority: Major > > For some reason I'm told by many committers that we should not have sets of > documentation for other versions than the current version in a tree for that > version. This has made it difficult, maybe impossible to have documentation > for all the supported versions on the website at one time. > As a solution I propose that we maintain the online documentation in a > separate repository that is managed as the current repository under the > guidance of the Apache Cassandra PMC (Project Management Committee); and that > in the new repository we: > # Maintain the code in html, css and javascript so changes can be made > easily using any number of programs. > # That we immediately copy the current code to a new repository, convert it > to html, css and javascript, convert it into a multi-version form and then > switch over to it from now on for the online documentation. > I ask you to consider that right now there is not much on the web site. Many > of us have the skill set to do this work in a matter of days. I can myself. > Therefore, if this is agreeable to everyone, whether no one else helps or > not, I will make sure its done over a two week period of time. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14313) Maintain a separate repository for the online documentation
[ https://issues.apache.org/jira/browse/CASSANDRA-14313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398986#comment-16398986 ] Kenneth Brotman commented on CASSANDRA-14313: - I see. But could we switch to Hugo right now! Huh, Huh, Huh!!! > Maintain a separate repository for the online documentation > --- > > Key: CASSANDRA-14313 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14313 > Project: Cassandra > Issue Type: Improvement >Reporter: Kenneth Brotman >Priority: Major > > For some reason I'm told by many committers that we should not have sets of > documentation for other versions than the current version in a tree for that > version. This has made it difficult, maybe impossible to have documentation > for all the supported versions on the website at one time. > As a solution I propose that we maintain the online documentation in a > separate repository that is managed as the current repository under the > guidance of the Apache Cassandra PMC (Project Management Committee); and that > in the new repository we: > # Maintain the code in html, css and javascript so changes can be made > easily using any number of programs. > # That we immediately copy the current code to a new repository, convert it > to html, css and javascript, convert it into a multi-version form and then > switch over to it from now on for the online documentation. > I ask you to consider that right now there is not much on the web site. Many > of us have the skill set to do this work in a matter of days. I can myself. > Therefore, if this is agreeable to everyone, whether no one else helps or > not, I will make sure its done over a two week period of time. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14313) Maintain a separate repository for the online documentation
[ https://issues.apache.org/jira/browse/CASSANDRA-14313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398972#comment-16398972 ] Jon Haddad commented on CASSANDRA-14313: At this point the best thing to do is keep improving the trunk docs, to keep the scope of work small. Ideally we'd have a solid set of docs for 4.0, and at that point we can discuss improving the docs in branches of previous releases. Trying to boil the ocean with 4 versions of docs isn't going to get us to world class docs any sooner. > Maintain a separate repository for the online documentation > --- > > Key: CASSANDRA-14313 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14313 > Project: Cassandra > Issue Type: Improvement >Reporter: Kenneth Brotman >Priority: Major > > For some reason I'm told by many committers that we should not have sets of > documentation for other versions than the current version in a tree for that > version. This has made it difficult, maybe impossible to have documentation > for all the supported versions on the website at one time. > As a solution I propose that we maintain the online documentation in a > separate repository that is managed as the current repository under the > guidance of the Apache Cassandra PMC (Project Management Committee); and that > in the new repository we: > # Maintain the code in html, css and javascript so changes can be made > easily using any number of programs. > # That we immediately copy the current code to a new repository, convert it > to html, css and javascript, convert it into a multi-version form and then > switch over to it from now on for the online documentation. > I ask you to consider that right now there is not much on the web site. Many > of us have the skill set to do this work in a matter of days. I can myself. > Therefore, if this is agreeable to everyone, whether no one else helps or > not, I will make sure its done over a two week period of time. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13851) Allow existing nodes to use all peers in shadow round
[ https://issues.apache.org/jira/browse/CASSANDRA-13851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398928#comment-16398928 ] Sam Tunnicliffe commented on CASSANDRA-13851: - Thanks for adding the extra delay for non-seeds, that all LTGM so I've kicked off some dtest runs on CircleCI. If they look good I'll commit everything and update here. |3.11|[circleci workflow|https://circleci.com/workflow-run/b931896e-6ebb-4513-8f0c-7b6bb8486ee0]| |trunk|[circleci workflow|https://circleci.com/workflow-run/36423e6e-1763-4274-b923-d78d2947a812]| There were a couple of tweaks I made to the dtest, lmk if those are ok with you: [https://github.com/beobal/cassandra-dtest/commit/94dee685e10f8819752d7c27533ba8f59b7acb9b] One small request for future stuff, it makes reviewing iterations on patches much easier if you don't rebase/squash once the review is ongoing. Additional commits + periodically merging from the base branch makes it a lot simpler to pick out the incremental changes during the course of a review. Thanks! > Allow existing nodes to use all peers in shadow round > - > > Key: CASSANDRA-13851 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13851 > Project: Cassandra > Issue Type: Bug > Components: Lifecycle >Reporter: Kurt Greaves >Assignee: Kurt Greaves >Priority: Major > Fix For: 3.11.x, 4.x > > > In CASSANDRA-10134 we made collision checks necessary on every startup. A > side-effect was introduced that then requires a nodes seeds to be contacted > on every startup. Prior to this change an existing node could start up > regardless whether it could contact a seed node or not (because > checkForEndpointCollision() was only called for bootstrapping nodes). > Now if a nodes seeds are removed/deleted/fail it will no longer be able to > start up until live seeds are configured (or itself is made a seed), even > though it already knows about the rest of the ring. This is inconvenient for > operators and has the potential to cause some nasty surprises and increase > downtime. > One solution would be to use all a nodes existing peers as seeds in the > shadow round. Not a Gossip guru though so not sure of implications. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-7622) Implement virtual tables
[ https://issues.apache.org/jira/browse/CASSANDRA-7622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398915#comment-16398915 ] Stefan Podkowinski commented on CASSANDRA-7622: --- I was rather skeptical at the beginning of the discussion on this issue. But I like the way we moved forward here and the proposed implementation looks promising. Definitely worth the effort. Please keep in mind that it should also be possible to grant permissions based on our RBAC model to virtual tables, too (could be done in another ticket though). I've not looked into it in detail and it might not be a big deal to implement, but it should be possible by working with GRANTs on table level. This requires that any vtables will be known from the start and not will not be registered dynamically. E.g. I'd like to be able to grant select permissions for a certain role on the table 'tablemetrics', instead of having dynamic table names, if that's planed at all. > Implement virtual tables > > > Key: CASSANDRA-7622 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7622 > Project: Cassandra > Issue Type: Improvement >Reporter: Tupshin Harper >Assignee: Chris Lohfink >Priority: Major > Fix For: 4.x > > > There are a variety of reasons to want virtual tables, which would be any > table that would be backed by an API, rather than data explicitly managed and > stored as sstables. > One possible use case would be to expose JMX data through CQL as a > resurrection of CASSANDRA-3527. > Another is a more general framework to implement the ability to expose yaml > configuration information. So it would be an alternate approach to > CASSANDRA-7370. > A possible implementation would be in terms of CASSANDRA-7443, but I am not > presupposing. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-13697) CDC and VIEW writeType missing from spec for write_timeout / write_failure
[ https://issues.apache.org/jira/browse/CASSANDRA-13697?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jason Brown updated CASSANDRA-13697: Resolution: Fixed Fix Version/s: 3.11.3 3.0.17 4.0 Status: Resolved (was: Ready to Commit) committed as sha {{3d7471a56b7a58b41047ff704ebe4b0a89bda6f9}} I backported the patch as-is to 3.11. Further, I added the {{CAS}} entry to the spec docs in 3.0. Thanks for the patch and the review! > CDC and VIEW writeType missing from spec for write_timeout / write_failure > -- > > Key: CASSANDRA-13697 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13697 > Project: Cassandra > Issue Type: Improvement > Components: Documentation and Website >Reporter: Andy Tolbert >Assignee: Vinay Chella >Priority: Minor > Labels: lhf > Fix For: 4.0, 3.0.17, 3.11.3 > > > In cassandra 3.0 a new {{WriteType}} {{VIEW}} was added which appears to be > used when raising a {{WriteTimeoutException}} when the local view lock for a > key cannot be acquired within timeout. > In cassandra 3.8 {{CDC}} {{WriteType}} was added for when > {{cdc_total_space_in_mb}} is exceeded when doing a write to data tracked by > cdc. > The [v4 > spec|https://github.com/apache/cassandra/blob/cassandra-3.11.0/doc/native_protocol_v4.spec#L1051-L1066] > currently doesn't cover these two write types. While the protocol allows > for a free form string for write type, it would be nice to document that > types are available since some drivers (java, cpp, python) attempt to > deserialize write type into an enum and may not handle it well. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[2/6] cassandra git commit: Adding missing WriteType enum values to v3, v4 and v5 spec
Adding missing WriteType enum values to v3,v4 and v5 spec patch by Vinay Chella, reviewed by Joey Lynch for CASSANDRA-13697 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3d7471a5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3d7471a5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3d7471a5 Branch: refs/heads/cassandra-3.11 Commit: 3d7471a56b7a58b41047ff704ebe4b0a89bda6f9 Parents: 58e6c55 Author: Vinay ChellaAuthored: Wed Mar 14 09:55:40 2018 -0700 Committer: Jason Brown Committed: Wed Mar 14 09:57:10 2018 -0700 -- CHANGES.txt | 1 + doc/native_protocol_v3.spec | 2 ++ doc/native_protocol_v4.spec | 2 ++ 3 files changed, 5 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d7471a5/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 1d1a07a..62b904f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * Adding missing WriteType enum values to v3,v4 and v5 spec (CASSANDRA-13697) * Don't regenerate bloomfilter and summaries on startup (CASSANDRA-11163) * Fix NPE when performing comparison against a null frozen in LWT (CASSANDRA-14087) * Log when SSTables are deleted (CASSANDRA-14302) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d7471a5/doc/native_protocol_v3.spec -- diff --git a/doc/native_protocol_v3.spec b/doc/native_protocol_v3.spec index c38e26c..0d7f94d 100644 --- a/doc/native_protocol_v3.spec +++ b/doc/native_protocol_v3.spec @@ -979,6 +979,8 @@ Table of Contents - "BATCH_LOG": the timeout occured during the write to the batch log when a (logged) batch write was requested. + - "CAS": the timeout occured during the Compare And Set + write/update. 0x1200Read_timeout: Timeout exception during a read request. The rest of the ERROR message body will be http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d7471a5/doc/native_protocol_v4.spec -- diff --git a/doc/native_protocol_v4.spec b/doc/native_protocol_v4.spec index 2188a33..02802a7 100644 --- a/doc/native_protocol_v4.spec +++ b/doc/native_protocol_v4.spec @@ -1135,6 +1135,8 @@ Table of Contents - "BATCH_LOG": the failure occured during the write to the batch log when a (logged) batch write was requested. + - "CAS": the timeout occured during the Compare And Set + write/update. 0x2000Syntax_error: The submitted query has a syntax error. 0x2100Unauthorized: The logged user doesn't have the right to perform - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[6/6] cassandra git commit: Merge branch 'cassandra-3.11' into trunk
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/de12f29d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/de12f29d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/de12f29d Branch: refs/heads/trunk Commit: de12f29dc60e247beb91dc0a0dcd189fec7f9f9d Parents: 02c8436 5a662ea Author: Jason BrownAuthored: Wed Mar 14 10:00:05 2018 -0700 Committer: Jason Brown Committed: Wed Mar 14 10:00:52 2018 -0700 -- CHANGES.txt | 1 + doc/native_protocol_v3.spec | 1 + doc/native_protocol_v4.spec | 12 doc/native_protocol_v5.spec | 12 4 files changed, 26 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/de12f29d/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/de12f29d/doc/native_protocol_v5.spec -- - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[4/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
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/5a662ea3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5a662ea3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5a662ea3 Branch: refs/heads/trunk Commit: 5a662ea3ffdbb9563cf3ef959deb13982b084b24 Parents: 3fa7c08 3d7471a Author: Jason BrownAuthored: Wed Mar 14 09:57:42 2018 -0700 Committer: Jason Brown Committed: Wed Mar 14 09:59:42 2018 -0700 -- CHANGES.txt | 1 + doc/native_protocol_v3.spec | 1 + doc/native_protocol_v4.spec | 12 doc/native_protocol_v5.spec | 12 4 files changed, 26 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a662ea3/CHANGES.txt -- diff --cc CHANGES.txt index c2b907e,62b904f..8f913cd --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,8 -1,5 +1,9 @@@ -3.0.17 +3.11.3 + * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170) + * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) + * Fix wildcard GROUP BY queries (CASSANDRA-14209) +Merged from 3.0: + * Adding missing WriteType enum values to v3,v4 and v5 spec (CASSANDRA-13697) * Don't regenerate bloomfilter and summaries on startup (CASSANDRA-11163) * Fix NPE when performing comparison against a null frozen in LWT (CASSANDRA-14087) * Log when SSTables are deleted (CASSANDRA-14302) http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a662ea3/doc/native_protocol_v3.spec -- diff --cc doc/native_protocol_v3.spec index c38e26c,0d7f94d..9b1084b --- a/doc/native_protocol_v3.spec +++ b/doc/native_protocol_v3.spec @@@ -979,6 -979,8 +979,7 @@@ Table of Content - "BATCH_LOG": the timeout occured during the write to the batch log when a (logged) batch write was requested. - - "CAS": the timeout occured during the Compare And Set - write/update. ++ - "CAS": the timeout occured during the Compare And Set write/update. 0x1200Read_timeout: Timeout exception during a read request. The rest of the ERROR message body will be http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a662ea3/doc/native_protocol_v4.spec -- diff --cc doc/native_protocol_v4.spec index 2188a33,02802a7..5e1e01d --- a/doc/native_protocol_v4.spec +++ b/doc/native_protocol_v4.spec @@@ -1068,6 -1068,6 +1068,12 @@@ Table of Content - "BATCH_LOG": the timeout occurred during the write to the batch log when a (logged) batch write was requested. ++ - "CAS": the timeout occured during the Compare And Set write/update. ++ - "VIEW": the timeout occured when a write involves ++VIEW update and failure to acqiure local view(MV) ++lock for key within timeout ++ - "CDC": the timeout occured when cdc_total_space_in_mb is ++exceeded when doing a write to data tracked by cdc. 0x1200Read_timeout: Timeout exception during a read request. The rest of the ERROR message body will be @@@ -1135,6 -1135,8 +1141,12 @@@ - "BATCH_LOG": the failure occured during the write to the batch log when a (logged) batch write was requested. - - "CAS": the timeout occured during the Compare And Set - write/update. ++ - "CAS": the failure occured during the Compare And Set write/update. ++ - "VIEW": the failure occured when a write involves ++VIEW update and failure to acqiure local view(MV) ++lock for key within timeout ++ - "CDC": the failure occured when cdc_total_space_in_mb is ++exceeded when doing a write to data tracked by cdc. 0x2000Syntax_error: The submitted query has a syntax error. 0x2100Unauthorized: The logged user doesn't have the right to perform
[3/6] cassandra git commit: Adding missing WriteType enum values to v3, v4 and v5 spec
Adding missing WriteType enum values to v3,v4 and v5 spec patch by Vinay Chella, reviewed by Joey Lynch for CASSANDRA-13697 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3d7471a5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3d7471a5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3d7471a5 Branch: refs/heads/trunk Commit: 3d7471a56b7a58b41047ff704ebe4b0a89bda6f9 Parents: 58e6c55 Author: Vinay ChellaAuthored: Wed Mar 14 09:55:40 2018 -0700 Committer: Jason Brown Committed: Wed Mar 14 09:57:10 2018 -0700 -- CHANGES.txt | 1 + doc/native_protocol_v3.spec | 2 ++ doc/native_protocol_v4.spec | 2 ++ 3 files changed, 5 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d7471a5/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 1d1a07a..62b904f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * Adding missing WriteType enum values to v3,v4 and v5 spec (CASSANDRA-13697) * Don't regenerate bloomfilter and summaries on startup (CASSANDRA-11163) * Fix NPE when performing comparison against a null frozen in LWT (CASSANDRA-14087) * Log when SSTables are deleted (CASSANDRA-14302) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d7471a5/doc/native_protocol_v3.spec -- diff --git a/doc/native_protocol_v3.spec b/doc/native_protocol_v3.spec index c38e26c..0d7f94d 100644 --- a/doc/native_protocol_v3.spec +++ b/doc/native_protocol_v3.spec @@ -979,6 +979,8 @@ Table of Contents - "BATCH_LOG": the timeout occured during the write to the batch log when a (logged) batch write was requested. + - "CAS": the timeout occured during the Compare And Set + write/update. 0x1200Read_timeout: Timeout exception during a read request. The rest of the ERROR message body will be http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d7471a5/doc/native_protocol_v4.spec -- diff --git a/doc/native_protocol_v4.spec b/doc/native_protocol_v4.spec index 2188a33..02802a7 100644 --- a/doc/native_protocol_v4.spec +++ b/doc/native_protocol_v4.spec @@ -1135,6 +1135,8 @@ Table of Contents - "BATCH_LOG": the failure occured during the write to the batch log when a (logged) batch write was requested. + - "CAS": the timeout occured during the Compare And Set + write/update. 0x2000Syntax_error: The submitted query has a syntax error. 0x2100Unauthorized: The logged user doesn't have the right to perform - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[5/6] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
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/5a662ea3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5a662ea3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5a662ea3 Branch: refs/heads/cassandra-3.11 Commit: 5a662ea3ffdbb9563cf3ef959deb13982b084b24 Parents: 3fa7c08 3d7471a Author: Jason BrownAuthored: Wed Mar 14 09:57:42 2018 -0700 Committer: Jason Brown Committed: Wed Mar 14 09:59:42 2018 -0700 -- CHANGES.txt | 1 + doc/native_protocol_v3.spec | 1 + doc/native_protocol_v4.spec | 12 doc/native_protocol_v5.spec | 12 4 files changed, 26 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a662ea3/CHANGES.txt -- diff --cc CHANGES.txt index c2b907e,62b904f..8f913cd --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,8 -1,5 +1,9 @@@ -3.0.17 +3.11.3 + * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170) + * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) + * Fix wildcard GROUP BY queries (CASSANDRA-14209) +Merged from 3.0: + * Adding missing WriteType enum values to v3,v4 and v5 spec (CASSANDRA-13697) * Don't regenerate bloomfilter and summaries on startup (CASSANDRA-11163) * Fix NPE when performing comparison against a null frozen in LWT (CASSANDRA-14087) * Log when SSTables are deleted (CASSANDRA-14302) http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a662ea3/doc/native_protocol_v3.spec -- diff --cc doc/native_protocol_v3.spec index c38e26c,0d7f94d..9b1084b --- a/doc/native_protocol_v3.spec +++ b/doc/native_protocol_v3.spec @@@ -979,6 -979,8 +979,7 @@@ Table of Content - "BATCH_LOG": the timeout occured during the write to the batch log when a (logged) batch write was requested. - - "CAS": the timeout occured during the Compare And Set - write/update. ++ - "CAS": the timeout occured during the Compare And Set write/update. 0x1200Read_timeout: Timeout exception during a read request. The rest of the ERROR message body will be http://git-wip-us.apache.org/repos/asf/cassandra/blob/5a662ea3/doc/native_protocol_v4.spec -- diff --cc doc/native_protocol_v4.spec index 2188a33,02802a7..5e1e01d --- a/doc/native_protocol_v4.spec +++ b/doc/native_protocol_v4.spec @@@ -1068,6 -1068,6 +1068,12 @@@ Table of Content - "BATCH_LOG": the timeout occurred during the write to the batch log when a (logged) batch write was requested. ++ - "CAS": the timeout occured during the Compare And Set write/update. ++ - "VIEW": the timeout occured when a write involves ++VIEW update and failure to acqiure local view(MV) ++lock for key within timeout ++ - "CDC": the timeout occured when cdc_total_space_in_mb is ++exceeded when doing a write to data tracked by cdc. 0x1200Read_timeout: Timeout exception during a read request. The rest of the ERROR message body will be @@@ -1135,6 -1135,8 +1141,12 @@@ - "BATCH_LOG": the failure occured during the write to the batch log when a (logged) batch write was requested. - - "CAS": the timeout occured during the Compare And Set - write/update. ++ - "CAS": the failure occured during the Compare And Set write/update. ++ - "VIEW": the failure occured when a write involves ++VIEW update and failure to acqiure local view(MV) ++lock for key within timeout ++ - "CDC": the failure occured when cdc_total_space_in_mb is ++exceeded when doing a write to data tracked by cdc. 0x2000Syntax_error: The submitted query has a syntax error. 0x2100Unauthorized: The logged user doesn't have the right to perform
[1/6] cassandra git commit: Adding missing WriteType enum values to v3, v4 and v5 spec
Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 58e6c55e1 -> 3d7471a56 refs/heads/cassandra-3.11 3fa7c0894 -> 5a662ea3f refs/heads/trunk 02c8436cb -> de12f29dc Adding missing WriteType enum values to v3,v4 and v5 spec patch by Vinay Chella, reviewed by Joey Lynch for CASSANDRA-13697 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3d7471a5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3d7471a5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3d7471a5 Branch: refs/heads/cassandra-3.0 Commit: 3d7471a56b7a58b41047ff704ebe4b0a89bda6f9 Parents: 58e6c55 Author: Vinay ChellaAuthored: Wed Mar 14 09:55:40 2018 -0700 Committer: Jason Brown Committed: Wed Mar 14 09:57:10 2018 -0700 -- CHANGES.txt | 1 + doc/native_protocol_v3.spec | 2 ++ doc/native_protocol_v4.spec | 2 ++ 3 files changed, 5 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d7471a5/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 1d1a07a..62b904f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.17 + * Adding missing WriteType enum values to v3,v4 and v5 spec (CASSANDRA-13697) * Don't regenerate bloomfilter and summaries on startup (CASSANDRA-11163) * Fix NPE when performing comparison against a null frozen in LWT (CASSANDRA-14087) * Log when SSTables are deleted (CASSANDRA-14302) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d7471a5/doc/native_protocol_v3.spec -- diff --git a/doc/native_protocol_v3.spec b/doc/native_protocol_v3.spec index c38e26c..0d7f94d 100644 --- a/doc/native_protocol_v3.spec +++ b/doc/native_protocol_v3.spec @@ -979,6 +979,8 @@ Table of Contents - "BATCH_LOG": the timeout occured during the write to the batch log when a (logged) batch write was requested. + - "CAS": the timeout occured during the Compare And Set + write/update. 0x1200Read_timeout: Timeout exception during a read request. The rest of the ERROR message body will be http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d7471a5/doc/native_protocol_v4.spec -- diff --git a/doc/native_protocol_v4.spec b/doc/native_protocol_v4.spec index 2188a33..02802a7 100644 --- a/doc/native_protocol_v4.spec +++ b/doc/native_protocol_v4.spec @@ -1135,6 +1135,8 @@ Table of Contents - "BATCH_LOG": the failure occured during the write to the batch log when a (logged) batch write was requested. + - "CAS": the timeout occured during the Compare And Set + write/update. 0x2000Syntax_error: The submitted query has a syntax error. 0x2100Unauthorized: The logged user doesn't have the right to perform - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14313) Maintain a separate repository for the online documentation
[ https://issues.apache.org/jira/browse/CASSANDRA-14313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398861#comment-16398861 ] Kenneth Brotman commented on CASSANDRA-14313: - I yield to Jon Haddad due to his years of open source experience. I ask that he simply provide the solution please and the steps to complete it; and I will begin executing them immediately. Thanks you for helping us get past this issue Jon as there are so many of us yourself included I'm sure that would like to start generating some world class documentation and really making the project shine! > Maintain a separate repository for the online documentation > --- > > Key: CASSANDRA-14313 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14313 > Project: Cassandra > Issue Type: Improvement >Reporter: Kenneth Brotman >Priority: Major > > For some reason I'm told by many committers that we should not have sets of > documentation for other versions than the current version in a tree for that > version. This has made it difficult, maybe impossible to have documentation > for all the supported versions on the website at one time. > As a solution I propose that we maintain the online documentation in a > separate repository that is managed as the current repository under the > guidance of the Apache Cassandra PMC (Project Management Committee); and that > in the new repository we: > # Maintain the code in html, css and javascript so changes can be made > easily using any number of programs. > # That we immediately copy the current code to a new repository, convert it > to html, css and javascript, convert it into a multi-version form and then > switch over to it from now on for the online documentation. > I ask you to consider that right now there is not much on the web site. Many > of us have the skill set to do this work in a matter of days. I can myself. > Therefore, if this is agreeable to everyone, whether no one else helps or > not, I will make sure its done over a two week period of time. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14313) Maintain a separate repository for the online documentation
[ https://issues.apache.org/jira/browse/CASSANDRA-14313?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398848#comment-16398848 ] Jon Haddad commented on CASSANDRA-14313: {quote} For some reason I'm told by many committers that we should not have sets of documentation for other versions than the current version in a tree for that version. {quote} True, we ship the docs that correlate to the version that's released. {quote} This has made it difficult, maybe impossible to have documentation for all the supported versions on the website at one time. {quote} This isn't true at all. The docs for each version need to be built and put in a directory for each version on the site repo itself. That's a normal build process. The links for nav / etc need to be updated to support multiple versions. The site is here: https://svn.apache.org/repos/asf/cassandra/site {quote} Maintain the code in html, css and javascript so changes can be made easily using any number of programs. That we immediately copy the current code to a new repository, convert it to html, css and javascript, convert it into a multi-version form and then switch over to it from now on for the online documentation. {quote} Absolutely not. Having the docs in sphinx means they are based on templates and can be easily rebuilt. This is a solved problem already for a million projects, regressing to manually editing HTML / CSS / JS would be a massive waste of time and doesn't help anyone. I'm a firm -1 on this. I've built docs out for a number of projects over the years. This isn't the best set of docs, but certainly not the worst. If anything we could move to a better toolset (hugo for everything), but making everyone work with HTML / CSS / JS isn't going to get the docs any more attention than it does now. > Maintain a separate repository for the online documentation > --- > > Key: CASSANDRA-14313 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14313 > Project: Cassandra > Issue Type: Improvement >Reporter: Kenneth Brotman >Priority: Major > > For some reason I'm told by many committers that we should not have sets of > documentation for other versions than the current version in a tree for that > version. This has made it difficult, maybe impossible to have documentation > for all the supported versions on the website at one time. > As a solution I propose that we maintain the online documentation in a > separate repository that is managed as the current repository under the > guidance of the Apache Cassandra PMC (Project Management Committee); and that > in the new repository we: > # Maintain the code in html, css and javascript so changes can be made > easily using any number of programs. > # That we immediately copy the current code to a new repository, convert it > to html, css and javascript, convert it into a multi-version form and then > switch over to it from now on for the online documentation. > I ask you to consider that right now there is not much on the web site. Many > of us have the skill set to do this work in a matter of days. I can myself. > Therefore, if this is agreeable to everyone, whether no one else helps or > not, I will make sure its done over a two week period of time. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13797) RepairJob blocks on syncTasks
[ https://issues.apache.org/jira/browse/CASSANDRA-13797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398846#comment-16398846 ] Blake Eggleston commented on CASSANDRA-13797: - Agreed this should be a new ticket. Maybe the right fix is to backport CASSANDRA-13521 with concurrent validations set to something reasonable? I think the incorrect assumption of this ticket that's causing problems was that the validation executor was bounded, which obviously isn't the case. > RepairJob blocks on syncTasks > - > > Key: CASSANDRA-13797 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13797 > Project: Cassandra > Issue Type: Bug > Components: Repair >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Major > Fix For: 3.0.15, 3.11.1, 4.0 > > > The thread running {{RepairJob}} blocks while it waits for the validations it > starts to complete ([see > here|https://github.com/bdeggleston/cassandra/blob/9fdec0a82851f5c35cd21d02e8c4da8fc685edb2/src/java/org/apache/cassandra/repair/RepairJob.java#L185]). > However, the downstream callbacks (ie: the post-repair cleanup stuff) aren't > waiting for {{RepairJob#run}} to return, they're waiting for a result to be > set on RepairJob the future, which happens after the sync tasks have > completed. This post repair cleanup stuff also immediately shuts down the > executor {{RepairJob#run}} is running in. So in noop repair sessions, where > there's nothing to stream, I'm seeing the callbacks sometimes fire before > {{RepairJob#run}} wakes up, and causing an {{InterruptedException}} is thrown. > I'm pretty sure this can just be removed, but I'd like a second opinion. This > appears to just be a holdover from before repair coordination became async. I > thought it might be doing some throttling by blocking, but each repair > session gets it's own executor, and validation is throttled by the fixed > size executors doing the actual work of validation, so I don't think we need > to keep this around. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14313) Maintain a separate repository for the online documentation
[ https://issues.apache.org/jira/browse/CASSANDRA-14313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kenneth Brotman updated CASSANDRA-14313: Description: For some reason I'm told by many committers that we should not have sets of documentation for other versions than the current version in a tree for that version. This has made it difficult, maybe impossible to have documentation for all the supported versions on the website at one time. As a solution I propose that we maintain the online documentation in a separate repository that is managed as the current repository under the guidance of the Apache Cassandra PMC (Project Management Committee); and that in the new repository we: # Maintain the code in html, css and javascript so changes can be made easily using any number of programs. # That we immediately copy the current code to a new repository, convert it to html, css and javascript, convert it into a multi-version form and then switch over to it from now on for the online documentation. I ask you to consider that right now there is not much on the web site. Many of us have the skill set to do this work in a matter of days. I can myself. Therefore, if this is agreeable to everyone, whether no one else helps or not, I will make sure its done over a two week period of time. was: For some reason I'm told by many committers that we should not have sets of documentation for other versions than the current version in a tree for that version. This has made it difficult, maybe impossible to have documentation for all the supported versions on the website at one time. As a solution I propose that we maintain the online documentation in a separate repository that is managed as the current repository under the guidance of the Apache Cassandra PMC (Project Management Committee); and that in the new repository we: # Maintain the code in html, css and javascript so changes can be made easily using any number of programs. # That we immediately copy the current code to a new repository, convert it to html, css and javascript, convert it into a multi-version form and then switch over to it from now on for the online documentation. I ask you to consider that right now there is not much on the web site. Many of us have the skill set to do this work in a matter a days. I can myself. Therefore, if this is agreeable to everyone, whether no one else helps or not, I will make sure its done over a two week period of time. > Maintain a separate repository for the online documentation > --- > > Key: CASSANDRA-14313 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14313 > Project: Cassandra > Issue Type: Improvement >Reporter: Kenneth Brotman >Priority: Major > > For some reason I'm told by many committers that we should not have sets of > documentation for other versions than the current version in a tree for that > version. This has made it difficult, maybe impossible to have documentation > for all the supported versions on the website at one time. > As a solution I propose that we maintain the online documentation in a > separate repository that is managed as the current repository under the > guidance of the Apache Cassandra PMC (Project Management Committee); and that > in the new repository we: > # Maintain the code in html, css and javascript so changes can be made > easily using any number of programs. > # That we immediately copy the current code to a new repository, convert it > to html, css and javascript, convert it into a multi-version form and then > switch over to it from now on for the online documentation. > I ask you to consider that right now there is not much on the web site. Many > of us have the skill set to do this work in a matter of days. I can myself. > Therefore, if this is agreeable to everyone, whether no one else helps or > not, I will make sure its done over a two week period of time. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14313) Maintain a separate repository for the online documentation
[ https://issues.apache.org/jira/browse/CASSANDRA-14313?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kenneth Brotman updated CASSANDRA-14313: Description: For some reason I'm told by many committers that we should not have sets of documentation for other versions than the current version in a tree for that version. This has made it difficult, maybe impossible to have documentation for all the supported versions on the website at one time. As a solution I propose that we maintain the online documentation in a separate repository that is managed as the current repository under the guidance of the Apache Cassandra PMC (Project Management Committee); and that in the new repository we: # Maintain the code in html, css and javascript so changes can be made easily using any number of programs. # That we immediately copy the current code to a new repository, convert it to html, css and javascript, convert it into a multi-version form and then switch over to it from now on for the online documentation. I ask you to consider that right now there is not much on the web site. Many of us have the skill set to do this work in a matter a days. I can myself. Therefore, if this is agreeable to everyone, whether no one else helps or not, I will make sure its done over a two week period of time. was: For some reason I'm told by many committers that we should not have sets of documentation for other versions than the current version in a tree for that version. This has made it difficult, maybe impossible to have documentation for all the supported versions on the website at one time. As a solution I propose that we maintain the online documentation in a separate repository that is managed as the current repository under the guidance of the Apache Cassandra PMC (Project Management Committee); and that in the new repository we: # Maintain the code in html, css and javascript so changes can be made easily using any number of programs. # That we immediately copy the current code to a new repository, convert it to html, css and javascript, convert it into a multi-version form and then switch over to it from now on for the online documentation. I ask you to consider that right now there is not much on the web site right now. Many of us have the skill set to do this work in a matter a days. I can myself. Therefore, if this is agreeable to everyone, whether no one else helps or not, I will make sure its done over a two week period of time. > Maintain a separate repository for the online documentation > --- > > Key: CASSANDRA-14313 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14313 > Project: Cassandra > Issue Type: Improvement >Reporter: Kenneth Brotman >Priority: Major > > For some reason I'm told by many committers that we should not have sets of > documentation for other versions than the current version in a tree for that > version. This has made it difficult, maybe impossible to have documentation > for all the supported versions on the website at one time. > As a solution I propose that we maintain the online documentation in a > separate repository that is managed as the current repository under the > guidance of the Apache Cassandra PMC (Project Management Committee); and that > in the new repository we: > # Maintain the code in html, css and javascript so changes can be made > easily using any number of programs. > # That we immediately copy the current code to a new repository, convert it > to html, css and javascript, convert it into a multi-version form and then > switch over to it from now on for the online documentation. > I ask you to consider that right now there is not much on the web site. Many > of us have the skill set to do this work in a matter a days. I can myself. > Therefore, if this is agreeable to everyone, whether no one else helps or > not, I will make sure its done over a two week period of time. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Created] (CASSANDRA-14313) Maintain a separate repository for the online documentation
Kenneth Brotman created CASSANDRA-14313: --- Summary: Maintain a separate repository for the online documentation Key: CASSANDRA-14313 URL: https://issues.apache.org/jira/browse/CASSANDRA-14313 Project: Cassandra Issue Type: Improvement Reporter: Kenneth Brotman For some reason I'm told by many committers that we should not have sets of documentation for other versions than the current version in a tree for that version. This has made it difficult, maybe impossible to have documentation for all the supported versions on the website at one time. As a solution I propose that we maintain the online documentation in a separate repository that is managed as the current repository under the guidance of the Apache Cassandra PMC (Project Management Committee); and that in the new repository we: # Maintain the code in html, css and javascript so changes can be made easily using any number of programs. # That we immediately copy the current code to a new repository, convert it to html, css and javascript, convert it into a multi-version form and then switch over to it from now on for the online documentation. I ask you to consider that right now there is not much on the web site right now. Many of us have the skill set to do this work in a matter a days. I can myself. Therefore, if this is agreeable to everyone, whether no one else helps or not, I will make sure its done over a two week period of time. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-7622) Implement virtual tables
[ https://issues.apache.org/jira/browse/CASSANDRA-7622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398815#comment-16398815 ] Chris Lohfink commented on CASSANDRA-7622: -- 1) If they extend the inmemoryvirtualtable it handles {{LIMIT}}, {{PER PARTITION LIMIT}} , {{GROUP BY}}, {{DISTINCT}} etc (ie all the system_info tables). With it the methods an implementor handles is: {code} public void mutate(DecoratedKey partitionKey, Row row) public void read(StatementRestrictions restrictions, QueryOptions options, ResultBuilder result) {code} ie the compactionstats {code} public void read(StatementRestrictions restrictions, QueryOptions options, ResultBuilder result) { UUID hostId = StorageService.instance.getLocalHostUUID(); for (Mapc : CompactionManager.instance.getCompactions()) { result.row(hostId, UUID.fromString(c.get("compactionId"))) .column(TASK_TYPE, c.get("taskType")) .column(KEYSPACE_NAME, c.get("keyspace")) .column(TABLE_NAME, c.get("columnFamily")) .column(BYTES_COMPACTED, c.get("completed")) .column(BYTES_TOTAL, c.get("total")) .endRow(); } } {code} Which provides a builder interface to generate the resultset. An implementation of VirtualTable and writing own ReadQuery will only be needed or do something more efficient over large datasets or in distributed fashion. I dont expect anyone to do that, the interface just works at that level of the query best otherwise the patch would have too be a rewrite the entire columfamilystore with all its implications. 2,3) Ill start working on more tests 4) fixed > Implement virtual tables > > > Key: CASSANDRA-7622 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7622 > Project: Cassandra > Issue Type: Improvement >Reporter: Tupshin Harper >Assignee: Chris Lohfink >Priority: Major > Fix For: 4.x > > > There are a variety of reasons to want virtual tables, which would be any > table that would be backed by an API, rather than data explicitly managed and > stored as sstables. > One possible use case would be to expose JMX data through CQL as a > resurrection of CASSANDRA-3527. > Another is a more general framework to implement the ability to expose yaml > configuration information. So it would be an alternate approach to > CASSANDRA-7370. > A possible implementation would be in terms of CASSANDRA-7443, but I am not > presupposing. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-7622) Implement virtual tables
[ https://issues.apache.org/jira/browse/CASSANDRA-7622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398785#comment-16398785 ] Benjamin Lerer commented on CASSANDRA-7622: --- I unfortunately does not have the time to review that patch but I quickly went through it and here are my initial concerns * Paging is a logic that always been difficult to get right as it is query dependent and require different handling based on different options: {{LIMIT}}, {{PER PARTITION LIMIT}} , {{GROUP BY}} , ... Moreover, it seems to me that forcing the person implementing the Virtual table to have to take care of it is a bit risky. * The tests covers only a minimal amount of the queries supported by normal tables. It would be nice to have a more complete set of tests for each of the 3 types of queries: {{single partition queries}}, {{multi-partition queries}} and {{range queries}}. With a combination of {{LIMIT}}, {{ORDER BY}}, {{PER PARTITION LIMIT}} with and without paging. * For paging tests I would prefer the use of {{CQLTester.executeNetWithPaging}} with a paging size that vary to cover all the possible cases. * It seems to me that the patch does not prevent to create MV, index or trigger on top of virtual table I > Implement virtual tables > > > Key: CASSANDRA-7622 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7622 > Project: Cassandra > Issue Type: Improvement >Reporter: Tupshin Harper >Assignee: Chris Lohfink >Priority: Major > Fix For: 4.x > > > There are a variety of reasons to want virtual tables, which would be any > table that would be backed by an API, rather than data explicitly managed and > stored as sstables. > One possible use case would be to expose JMX data through CQL as a > resurrection of CASSANDRA-3527. > Another is a more general framework to implement the ability to expose yaml > configuration information. So it would be an alternate approach to > CASSANDRA-7370. > A possible implementation would be in terms of CASSANDRA-7443, but I am not > presupposing. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Resolved] (CASSANDRA-13797) RepairJob blocks on syncTasks
[ https://issues.apache.org/jira/browse/CASSANDRA-13797?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jeremiah Jordan resolved CASSANDRA-13797. - Resolution: Fixed > RepairJob blocks on syncTasks > - > > Key: CASSANDRA-13797 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13797 > Project: Cassandra > Issue Type: Bug > Components: Repair >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Major > Fix For: 4.0, 3.11.1, 3.0.15 > > > The thread running {{RepairJob}} blocks while it waits for the validations it > starts to complete ([see > here|https://github.com/bdeggleston/cassandra/blob/9fdec0a82851f5c35cd21d02e8c4da8fc685edb2/src/java/org/apache/cassandra/repair/RepairJob.java#L185]). > However, the downstream callbacks (ie: the post-repair cleanup stuff) aren't > waiting for {{RepairJob#run}} to return, they're waiting for a result to be > set on RepairJob the future, which happens after the sync tasks have > completed. This post repair cleanup stuff also immediately shuts down the > executor {{RepairJob#run}} is running in. So in noop repair sessions, where > there's nothing to stream, I'm seeing the callbacks sometimes fire before > {{RepairJob#run}} wakes up, and causing an {{InterruptedException}} is thrown. > I'm pretty sure this can just be removed, but I'd like a second opinion. This > appears to just be a holdover from before repair coordination became async. I > thought it might be doing some throttling by blocking, but each repair > session gets it's own executor, and validation is throttled by the fixed > size executors doing the actual work of validation, so I don't think we need > to keep this around. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13797) RepairJob blocks on syncTasks
[ https://issues.apache.org/jira/browse/CASSANDRA-13797?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398542#comment-16398542 ] Jeremiah Jordan commented on CASSANDRA-13797: - [~KurtG] when a ticket has already gone out in a release we prefer to open a brand new ticket rather than re-open an existing one, as fix versions get confusing if you re-open and already released ticket. > RepairJob blocks on syncTasks > - > > Key: CASSANDRA-13797 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13797 > Project: Cassandra > Issue Type: Bug > Components: Repair >Reporter: Blake Eggleston >Assignee: Blake Eggleston >Priority: Major > Fix For: 3.0.15, 3.11.1, 4.0 > > > The thread running {{RepairJob}} blocks while it waits for the validations it > starts to complete ([see > here|https://github.com/bdeggleston/cassandra/blob/9fdec0a82851f5c35cd21d02e8c4da8fc685edb2/src/java/org/apache/cassandra/repair/RepairJob.java#L185]). > However, the downstream callbacks (ie: the post-repair cleanup stuff) aren't > waiting for {{RepairJob#run}} to return, they're waiting for a result to be > set on RepairJob the future, which happens after the sync tasks have > completed. This post repair cleanup stuff also immediately shuts down the > executor {{RepairJob#run}} is running in. So in noop repair sessions, where > there's nothing to stream, I'm seeing the callbacks sometimes fire before > {{RepairJob#run}} wakes up, and causing an {{InterruptedException}} is thrown. > I'm pretty sure this can just be removed, but I'd like a second opinion. This > appears to just be a holdover from before repair coordination became async. I > thought it might be doing some throttling by blocking, but each repair > session gets it's own executor, and validation is throttled by the fixed > size executors doing the actual work of validation, so I don't think we need > to keep this around. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-13851) Allow existing nodes to use all peers in shadow round
[ https://issues.apache.org/jira/browse/CASSANDRA-13851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398535#comment-16398535 ] Sam Tunnicliffe commented on CASSANDRA-13851: - [~KurtG] sorry, I totally missed the last update, I'll try my best to look at it today. > Allow existing nodes to use all peers in shadow round > - > > Key: CASSANDRA-13851 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13851 > Project: Cassandra > Issue Type: Bug > Components: Lifecycle >Reporter: Kurt Greaves >Assignee: Kurt Greaves >Priority: Major > Fix For: 3.11.x, 4.x > > > In CASSANDRA-10134 we made collision checks necessary on every startup. A > side-effect was introduced that then requires a nodes seeds to be contacted > on every startup. Prior to this change an existing node could start up > regardless whether it could contact a seed node or not (because > checkForEndpointCollision() was only called for bootstrapping nodes). > Now if a nodes seeds are removed/deleted/fail it will no longer be able to > start up until live seeds are configured (or itself is made a seed), even > though it already knows about the rest of the ring. This is inconvenient for > operators and has the potential to cause some nasty surprises and increase > downtime. > One solution would be to use all a nodes existing peers as seeds in the > shadow round. Not a Gossip guru though so not sure of implications. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14170) Loss of digits when doing CAST from varint/bigint to decimal
[ https://issues.apache.org/jira/browse/CASSANDRA-14170?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benjamin Lerer updated CASSANDRA-14170: --- Resolution: Fixed Fix Version/s: 3.11.3 4.0 Status: Resolved (was: Patch Available) Committed into 3.11 at 3fa7c0894449b5c6033a6c4f47ec3292d07268b8 and merged into trunk > Loss of digits when doing CAST from varint/bigint to decimal > > > Key: CASSANDRA-14170 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14170 > Project: Cassandra > Issue Type: Bug > Components: CQL > Environment: Tested with Cassandra 3.11.1 but this issue is present > since the implementation of cast functions. >Reporter: Daniel Fiala >Assignee: Benjamin Lerer >Priority: Minor > Fix For: 4.0, 3.11.3 > > > Cast functions from numeric types to decimal type are implemented as > conversion to double first and then from double to decimal: > [https://github.com/apache/cassandra/compare/trunk...blerer:10310-3.0#diff-6aa4a8f76df6c30c5bb4026b8c9251eeR80]. > This can cause loss of digits for big values stored in varint or bigint. It > is probably unexpected because decimal can store such values precisely. > Examples: > {{cqlsh> CREATE TABLE cast_bigint_test(k int PRIMARY KEY, bigint_clmn > bigint);}} > {{cqlsh> INSERT INTO cast_bigint_test(k, decimal_clmn) VALUES(2, > 9223372036854775807);}} > {{cqlsh> SELECT CAST(bigint_clmn AS decimal) FROM cast_bigint_test;}} > {{cast(bigint_clmn as decimal)}} > {{--}} > {{9.223372036854776E+18}} > {{(1 rows)}} > {{cqlsh> CREATE TABLE cast_varint_test (k int PRIMARY KEY, varint_clmn > varint);}} > {{cqlsh> INSERT INTO cast_varint_test(k, varint_clmn) values(2, > 1234567890123456789);}} > {{cqlsh> SELECT CAST(varint_clmn AS decimal) FROM cast_varint_test;}} > {{cast(varint_clmn as decimal)}} > {{--}} > 1.23456789012345677E+18 > {{(1 rows)}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14170) Loss of digits when doing CAST from varint/bigint to decimal
[ https://issues.apache.org/jira/browse/CASSANDRA-14170?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Benjamin Lerer updated CASSANDRA-14170: --- Component/s: CQL > Loss of digits when doing CAST from varint/bigint to decimal > > > Key: CASSANDRA-14170 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14170 > Project: Cassandra > Issue Type: Bug > Components: CQL > Environment: Tested with Cassandra 3.11.1 but this issue is present > since the implementation of cast functions. >Reporter: Daniel Fiala >Assignee: Benjamin Lerer >Priority: Minor > Fix For: 4.0, 3.11.3 > > > Cast functions from numeric types to decimal type are implemented as > conversion to double first and then from double to decimal: > [https://github.com/apache/cassandra/compare/trunk...blerer:10310-3.0#diff-6aa4a8f76df6c30c5bb4026b8c9251eeR80]. > This can cause loss of digits for big values stored in varint or bigint. It > is probably unexpected because decimal can store such values precisely. > Examples: > {{cqlsh> CREATE TABLE cast_bigint_test(k int PRIMARY KEY, bigint_clmn > bigint);}} > {{cqlsh> INSERT INTO cast_bigint_test(k, decimal_clmn) VALUES(2, > 9223372036854775807);}} > {{cqlsh> SELECT CAST(bigint_clmn AS decimal) FROM cast_bigint_test;}} > {{cast(bigint_clmn as decimal)}} > {{--}} > {{9.223372036854776E+18}} > {{(1 rows)}} > {{cqlsh> CREATE TABLE cast_varint_test (k int PRIMARY KEY, varint_clmn > varint);}} > {{cqlsh> INSERT INTO cast_varint_test(k, varint_clmn) values(2, > 1234567890123456789);}} > {{cqlsh> SELECT CAST(varint_clmn AS decimal) FROM cast_varint_test;}} > {{cast(varint_clmn as decimal)}} > {{--}} > 1.23456789012345677E+18 > {{(1 rows)}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14170) Loss of digits when doing CAST from varint/bigint to decimal
[ https://issues.apache.org/jira/browse/CASSANDRA-14170?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398331#comment-16398331 ] Benjamin Lerer commented on CASSANDRA-14170: Thanks for picking up my mistakes :-). I was far to quick on that one. > Loss of digits when doing CAST from varint/bigint to decimal > > > Key: CASSANDRA-14170 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14170 > Project: Cassandra > Issue Type: Bug > Environment: Tested with Cassandra 3.11.1 but this issue is present > since the implementation of cast functions. >Reporter: Daniel Fiala >Assignee: Benjamin Lerer >Priority: Minor > > Cast functions from numeric types to decimal type are implemented as > conversion to double first and then from double to decimal: > [https://github.com/apache/cassandra/compare/trunk...blerer:10310-3.0#diff-6aa4a8f76df6c30c5bb4026b8c9251eeR80]. > This can cause loss of digits for big values stored in varint or bigint. It > is probably unexpected because decimal can store such values precisely. > Examples: > {{cqlsh> CREATE TABLE cast_bigint_test(k int PRIMARY KEY, bigint_clmn > bigint);}} > {{cqlsh> INSERT INTO cast_bigint_test(k, decimal_clmn) VALUES(2, > 9223372036854775807);}} > {{cqlsh> SELECT CAST(bigint_clmn AS decimal) FROM cast_bigint_test;}} > {{cast(bigint_clmn as decimal)}} > {{--}} > {{9.223372036854776E+18}} > {{(1 rows)}} > {{cqlsh> CREATE TABLE cast_varint_test (k int PRIMARY KEY, varint_clmn > varint);}} > {{cqlsh> INSERT INTO cast_varint_test(k, varint_clmn) values(2, > 1234567890123456789);}} > {{cqlsh> SELECT CAST(varint_clmn AS decimal) FROM cast_varint_test;}} > {{cast(varint_clmn as decimal)}} > {{--}} > 1.23456789012345677E+18 > {{(1 rows)}} > -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[2/4] cassandra git commit: Fix Loss of digits when doing CAST from varint/bigint to decimal
Fix Loss of digits when doing CAST from varint/bigint to decimal patch by Benjamin Lerer; reviewed by Andrés de la Peña for CASSANDRA-14170 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3fa7c089 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3fa7c089 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3fa7c089 Branch: refs/heads/trunk Commit: 3fa7c0894449b5c6033a6c4f47ec3292d07268b8 Parents: 171222c Author: Benjamin LererAuthored: Wed Feb 14 12:29:17 2018 +0100 Committer: Benjamin Lerer Committed: Wed Mar 14 10:27:56 2018 +0100 -- CHANGES.txt | 1 + .../cassandra/cql3/functions/CastFcts.java | 19 - .../cassandra/cql3/functions/CastFctsTest.java | 22 ++-- 3 files changed, 35 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3fa7c089/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 684f2a6..c2b907e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.11.3 + * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170) * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) * Fix wildcard GROUP BY queries (CASSANDRA-14209) Merged from 3.0: http://git-wip-us.apache.org/repos/asf/cassandra/blob/3fa7c089/src/java/org/apache/cassandra/cql3/functions/CastFcts.java -- diff --git a/src/java/org/apache/cassandra/cql3/functions/CastFcts.java b/src/java/org/apache/cassandra/cql3/functions/CastFcts.java index 9e5c729..9f825ee 100644 --- a/src/java/org/apache/cassandra/cql3/functions/CastFcts.java +++ b/src/java/org/apache/cassandra/cql3/functions/CastFcts.java @@ -79,7 +79,7 @@ public final class CastFcts addFunctionIfNeeded(functions, inputType, LongType.instance, Number::longValue); addFunctionIfNeeded(functions, inputType, FloatType.instance, Number::floatValue); addFunctionIfNeeded(functions, inputType, DoubleType.instance, Number::doubleValue); -addFunctionIfNeeded(functions, inputType, DecimalType.instance, p -> BigDecimal.valueOf(p.doubleValue())); +addFunctionIfNeeded(functions, inputType, DecimalType.instance, getDecimalConversionFunction(inputType)); addFunctionIfNeeded(functions, inputType, IntegerType.instance, p -> BigInteger.valueOf(p.longValue())); functions.add(CastAsTextFunction.create(inputType, AsciiType.instance)); functions.add(CastAsTextFunction.create(inputType, UTF8Type.instance)); @@ -113,6 +113,23 @@ public final class CastFcts } /** + * Returns the conversion function to convert the specified type into a Decimal type + * + * @param inputType the input type + * @return the conversion function to convert the specified type into a Decimal type + */ +private static java.util.function.Function getDecimalConversionFunction(AbstractType inputType) +{ +if (inputType == FloatType.instance || inputType == DoubleType.instance) +return p -> BigDecimal.valueOf(p.doubleValue()); + +if (inputType == IntegerType.instance) +return p -> new BigDecimal((BigInteger) p); + +return p -> BigDecimal.valueOf(p.longValue()); +} + +/** * Creates the name of the cast function use to cast to the specified type. * * @param outputType the output type http://git-wip-us.apache.org/repos/asf/cassandra/blob/3fa7c089/test/unit/org/apache/cassandra/cql3/functions/CastFctsTest.java -- diff --git a/test/unit/org/apache/cassandra/cql3/functions/CastFctsTest.java b/test/unit/org/apache/cassandra/cql3/functions/CastFctsTest.java index 9b4b570..2ffd8b4 100644 --- a/test/unit/org/apache/cassandra/cql3/functions/CastFctsTest.java +++ b/test/unit/org/apache/cassandra/cql3/functions/CastFctsTest.java @@ -153,14 +153,14 @@ public class CastFctsTest extends CQLTester "CAST(g AS decimal), " + "CAST(h AS decimal), " + "CAST(i AS decimal) FROM %s"), - row(BigDecimal.valueOf(1.0), - BigDecimal.valueOf(2.0), - BigDecimal.valueOf(3.0), - BigDecimal.valueOf(4.0), + row(BigDecimal.valueOf(1), + BigDecimal.valueOf(2), + BigDecimal.valueOf(3), + BigDecimal.valueOf(4),
[4/4] cassandra git commit: Merge branch cassandra-3.11 into trunk
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/02c8436c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/02c8436c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/02c8436c Branch: refs/heads/trunk Commit: 02c8436cbbb27cc222995f308e9ca76583ad5b0d Parents: c8718d4 3fa7c08 Author: Benjamin LererAuthored: Wed Mar 14 10:30:22 2018 +0100 Committer: Benjamin Lerer Committed: Wed Mar 14 10:30:22 2018 +0100 -- CHANGES.txt | 3 ++- .../cassandra/cql3/functions/CastFcts.java | 19 - .../cassandra/cql3/functions/CastFctsTest.java | 22 ++-- 3 files changed, 36 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/02c8436c/CHANGES.txt -- diff --cc CHANGES.txt index 3cf9d93,c2b907e..cef5242 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,206 -1,6 +1,207 @@@ +4.0 + * Use Murmur3 for validation compactions (CASSANDRA-14002) + * Comma at the end of the seed list is interpretated as localhost (CASSANDRA-14285) + * Refactor read executor and response resolver, abstract read repair (CASSANDRA-14058) + * Add optional startup delay to wait until peers are ready (CASSANDRA-13993) + * Add a few options to nodetool verify (CASSANDRA-14201) + * CVE-2017-5929 Security vulnerability and redefine default log rotation policy (CASSANDRA-14183) + * Use JVM default SSL validation algorithm instead of custom default (CASSANDRA-13259) + * Better document in code InetAddressAndPort usage post 7544, incorporate port into UUIDGen node (CASSANDRA-14226) + * Fix sstablemetadata date string for minLocalDeletionTime (CASSANDRA-14132) + * Make it possible to change neverPurgeTombstones during runtime (CASSANDRA-14214) + * Remove GossipDigestSynVerbHandler#doSort() (CASSANDRA-14174) + * Add nodetool clientlist (CASSANDRA-13665) + * Revert ProtocolVersion changes from CASSANDRA-7544 (CASSANDRA-14211) + * Non-disruptive seed node list reload (CASSANDRA-14190) + * Nodetool tablehistograms to print statics for all the tables (CASSANDRA-14185) + * Migrate dtests to use pytest and python3 (CASSANDRA-14134) + * Allow storage port to be configurable per node (CASSANDRA-7544) + * Make sub-range selection for non-frozen collections return null instead of empty (CASSANDRA-14182) + * BloomFilter serialization format should not change byte ordering (CASSANDRA-9067) + * Remove unused on-heap BloomFilter implementation (CASSANDRA-14152) + * Delete temp test files on exit (CASSANDRA-14153) + * Make PartitionUpdate and Mutation immutable (CASSANDRA-13867) + * Fix CommitLogReplayer exception for CDC data (CASSANDRA-14066) + * Fix cassandra-stress startup failure (CASSANDRA-14106) + * Remove initialDirectories from CFS (CASSANDRA-13928) + * Fix trivial log format error (CASSANDRA-14015) + * Allow sstabledump to do a json object per partition (CASSANDRA-13848) + * Add option to optimise merkle tree comparison across replicas (CASSANDRA-3200) + * Remove unused and deprecated methods from AbstractCompactionStrategy (CASSANDRA-14081) + * Fix Distribution.average in cassandra-stress (CASSANDRA-14090) + * Support a means of logging all queries as they were invoked (CASSANDRA-13983) + * Presize collections (CASSANDRA-13760) + * Add GroupCommitLogService (CASSANDRA-13530) + * Parallelize initial materialized view build (CASSANDRA-12245) + * Fix flaky SecondaryIndexManagerTest.assert[Not]MarkedAsBuilt (CASSANDRA-13965) + * Make LWTs send resultset metadata on every request (CASSANDRA-13992) + * Fix flaky indexWithFailedInitializationIsNotQueryableAfterPartialRebuild (CASSANDRA-13963) + * Introduce leaf-only iterator (CASSANDRA-9988) + * Upgrade Guava to 23.3 and Airline to 0.8 (CASSANDRA-13997) + * Allow only one concurrent call to StatusLogger (CASSANDRA-12182) + * Refactoring to specialised functional interfaces (CASSANDRA-13982) + * Speculative retry should allow more friendly params (CASSANDRA-13876) + * Throw exception if we send/receive repair messages to incompatible nodes (CASSANDRA-13944) + * Replace usages of MessageDigest with Guava's Hasher (CASSANDRA-13291) + * Add nodetool cmd to print hinted handoff window (CASSANDRA-13728) + * Fix some alerts raised by static analysis (CASSANDRA-13799) + * Checksum sstable metadata (CASSANDRA-13321, CASSANDRA-13593) + * Add result set metadata to prepared statement MD5 hash calculation (CASSANDRA-10786) + * Refactor GcCompactionTest to avoid boxing (CASSANDRA-13941) + * Expose recent histograms in JmxHistograms (CASSANDRA-13642) + * Fix buffer length comparison when
[1/4] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11
Repository: cassandra Updated Branches: refs/heads/cassandra-3.11 171222ce0 -> 3fa7c0894 refs/heads/trunk c8718d497 -> 02c8436cb 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/171222ce Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/171222ce Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/171222ce Branch: refs/heads/trunk Commit: 171222ce05385aaa7b70e2c15088184a07dda0dc Parents: 620f37c 58e6c55 Author: Mick Semb WeverAuthored: Mon Mar 12 19:22:20 2018 +1100 Committer: Mick Semb Wever Committed: Mon Mar 12 19:34:22 2018 +1100 -- CHANGES.txt | 1 + NEWS.txt| 2 + .../apache/cassandra/db/ColumnFamilyStore.java | 4 +- .../io/sstable/format/SSTableReader.java| 97 ++-- .../cassandra/io/sstable/SSTableReaderTest.java | 91 +- 5 files changed, 161 insertions(+), 34 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/171222ce/CHANGES.txt -- diff --cc CHANGES.txt index 0e9ef6d,1d1a07a..684f2a6 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,7 -1,5 +1,8 @@@ -3.0.17 +3.11.3 + * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) + * Fix wildcard GROUP BY queries (CASSANDRA-14209) +Merged from 3.0: + * Don't regenerate bloomfilter and summaries on startup (CASSANDRA-11163) * Fix NPE when performing comparison against a null frozen in LWT (CASSANDRA-14087) * Log when SSTables are deleted (CASSANDRA-14302) * Fix batch commitlog sync regression (CASSANDRA-14292) http://git-wip-us.apache.org/repos/asf/cassandra/blob/171222ce/NEWS.txt -- diff --cc NEWS.txt index 745dad2,c06030e..9af8439 --- a/NEWS.txt +++ b/NEWS.txt @@@ -47,11 -47,14 +47,13 @@@ using the provided 'sstableupgrade' too Upgrading - -- Materialized view users upgrading from 3.0.15 or later that have performed range movements (join, decommission, move, etc), - should run repair on the base tables, and subsequently on the views to ensure data affected by CASSANDRA-14251 is correctly - propagated to all replicas. +- Materialized view users upgrading from 3.0.15 (3.0.X series) or 3.11.1 (3.11.X series) and later that have performed range movements (join, decommission, move, etc), + should run repair on the base tables, and subsequently on the views to ensure data affected by CASSANDRA-14251 is correctly propagated to all replicas. + - Changes to bloom_filter_fp_chance will no longer take effect on existing sstables when the node is restarted. Only - compactions/upgradesstables regenerates bloom filters and Summaries sstable components. See CASSANDRA-11163 ++ compactions/upgradesstables regenerates bloom filters and Summaries sstable components. See CASSANDRA-11163 -3.0.16 -= +3.11.2 +== Upgrading - http://git-wip-us.apache.org/repos/asf/cassandra/blob/171222ce/src/java/org/apache/cassandra/db/ColumnFamilyStore.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/171222ce/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java -- diff --cc src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java index d3dd2d3,c66fd8c..7d7fbf1 --- a/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java +++ b/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java @@@ -759,34 -748,26 +774,36 @@@ public abstract class SSTableReader ext */ private void load(boolean recreateBloomFilter, boolean saveSummaryIfCreated) throws IOException { -try(SegmentedFile.Builder ibuilder = SegmentedFile.getBuilder(DatabaseDescriptor.getIndexAccessMode(), false); -SegmentedFile.Builder dbuilder = SegmentedFile.getBuilder(DatabaseDescriptor.getDiskAccessMode(), compression)) +try(FileHandle.Builder ibuilder = new FileHandle.Builder(descriptor.filenameFor(Component.PRIMARY_INDEX)) + .mmapped(DatabaseDescriptor.getIndexAccessMode() == Config.DiskAccessMode.mmap) + .withChunkCache(ChunkCache.instance); +FileHandle.Builder dbuilder = new FileHandle.Builder(descriptor.filenameFor(Component.DATA)).compressed(compression) +
[3/4] cassandra git commit: Fix Loss of digits when doing CAST from varint/bigint to decimal
Fix Loss of digits when doing CAST from varint/bigint to decimal patch by Benjamin Lerer; reviewed by Andrés de la Peña for CASSANDRA-14170 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3fa7c089 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3fa7c089 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3fa7c089 Branch: refs/heads/cassandra-3.11 Commit: 3fa7c0894449b5c6033a6c4f47ec3292d07268b8 Parents: 171222c Author: Benjamin LererAuthored: Wed Feb 14 12:29:17 2018 +0100 Committer: Benjamin Lerer Committed: Wed Mar 14 10:27:56 2018 +0100 -- CHANGES.txt | 1 + .../cassandra/cql3/functions/CastFcts.java | 19 - .../cassandra/cql3/functions/CastFctsTest.java | 22 ++-- 3 files changed, 35 insertions(+), 7 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3fa7c089/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 684f2a6..c2b907e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.11.3 + * Fix Loss of digits when doing CAST from varint/bigint to decimal (CASSANDRA-14170) * RateBasedBackPressure unnecessarily invokes a lock on the Guava RateLimiter (CASSANDRA-14163) * Fix wildcard GROUP BY queries (CASSANDRA-14209) Merged from 3.0: http://git-wip-us.apache.org/repos/asf/cassandra/blob/3fa7c089/src/java/org/apache/cassandra/cql3/functions/CastFcts.java -- diff --git a/src/java/org/apache/cassandra/cql3/functions/CastFcts.java b/src/java/org/apache/cassandra/cql3/functions/CastFcts.java index 9e5c729..9f825ee 100644 --- a/src/java/org/apache/cassandra/cql3/functions/CastFcts.java +++ b/src/java/org/apache/cassandra/cql3/functions/CastFcts.java @@ -79,7 +79,7 @@ public final class CastFcts addFunctionIfNeeded(functions, inputType, LongType.instance, Number::longValue); addFunctionIfNeeded(functions, inputType, FloatType.instance, Number::floatValue); addFunctionIfNeeded(functions, inputType, DoubleType.instance, Number::doubleValue); -addFunctionIfNeeded(functions, inputType, DecimalType.instance, p -> BigDecimal.valueOf(p.doubleValue())); +addFunctionIfNeeded(functions, inputType, DecimalType.instance, getDecimalConversionFunction(inputType)); addFunctionIfNeeded(functions, inputType, IntegerType.instance, p -> BigInteger.valueOf(p.longValue())); functions.add(CastAsTextFunction.create(inputType, AsciiType.instance)); functions.add(CastAsTextFunction.create(inputType, UTF8Type.instance)); @@ -113,6 +113,23 @@ public final class CastFcts } /** + * Returns the conversion function to convert the specified type into a Decimal type + * + * @param inputType the input type + * @return the conversion function to convert the specified type into a Decimal type + */ +private static java.util.function.Function getDecimalConversionFunction(AbstractType inputType) +{ +if (inputType == FloatType.instance || inputType == DoubleType.instance) +return p -> BigDecimal.valueOf(p.doubleValue()); + +if (inputType == IntegerType.instance) +return p -> new BigDecimal((BigInteger) p); + +return p -> BigDecimal.valueOf(p.longValue()); +} + +/** * Creates the name of the cast function use to cast to the specified type. * * @param outputType the output type http://git-wip-us.apache.org/repos/asf/cassandra/blob/3fa7c089/test/unit/org/apache/cassandra/cql3/functions/CastFctsTest.java -- diff --git a/test/unit/org/apache/cassandra/cql3/functions/CastFctsTest.java b/test/unit/org/apache/cassandra/cql3/functions/CastFctsTest.java index 9b4b570..2ffd8b4 100644 --- a/test/unit/org/apache/cassandra/cql3/functions/CastFctsTest.java +++ b/test/unit/org/apache/cassandra/cql3/functions/CastFctsTest.java @@ -153,14 +153,14 @@ public class CastFctsTest extends CQLTester "CAST(g AS decimal), " + "CAST(h AS decimal), " + "CAST(i AS decimal) FROM %s"), - row(BigDecimal.valueOf(1.0), - BigDecimal.valueOf(2.0), - BigDecimal.valueOf(3.0), - BigDecimal.valueOf(4.0), + row(BigDecimal.valueOf(1), + BigDecimal.valueOf(2), + BigDecimal.valueOf(3), + BigDecimal.valueOf(4),
[jira] [Commented] (CASSANDRA-14311) Allow Token-Aware drivers for range scans
[ https://issues.apache.org/jira/browse/CASSANDRA-14311?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398201#comment-16398201 ] Avi Kivity commented on CASSANDRA-14311: {quote}Interesting. If the page border spans to another token, you'd still want to fill the whole page, wouldn't you? I assume so. {quote} You could, but you could also return a short page. In any case node-crossings are rare, so it doesn't matter much. {quote}Doesn't the driver already have an option to choose the next host in the ring if it determines the paging state is beyond the original coordinator's boundary? {quote} paging_state is opaque, the driver cannot interpret it. > Allow Token-Aware drivers for range scans > - > > Key: CASSANDRA-14311 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14311 > Project: Cassandra > Issue Type: Improvement > Components: Coordination >Reporter: Avi Kivity >Priority: Major > > Currently, range scans are not token aware. This means that an extra hop is > needed for most requests. Since range scans are usually data intensive, this > causes significant extra traffic. > > Token awareness could be enabled by having the coordinator return the token > for the next (still unread) row in the response, so the driver can select a > next coordinator that owns this row. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Resolved] (CASSANDRA-14312) Create sub directories for version specific documentation
[ https://issues.apache.org/jira/browse/CASSANDRA-14312?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kenneth Brotman resolved CASSANDRA-14312. - Resolution: Duplicate > Create sub directories for version specific documentation > - > > Key: CASSANDRA-14312 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14312 > Project: Cassandra > Issue Type: Improvement >Reporter: Kenneth Brotman >Priority: Major > > I want to create two sub directories "2_x" and "3_x" under "doc". I'll then > copy the files under "doc" to each of the new subdirectories so we can begin > making version specific documentation. No links are changed yet. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Comment Edited] (CASSANDRA-14312) Create sub directories for version specific documentation
[ https://issues.apache.org/jira/browse/CASSANDRA-14312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398159#comment-16398159 ] Kenneth Brotman edited comment on CASSANDRA-14312 at 3/14/18 6:50 AM: -- As pointed out, this appears to be a duplicate Jira topic. I will close it. was (Author: kenbrotman): As pointed out, this appears to be a duplicate. > Create sub directories for version specific documentation > - > > Key: CASSANDRA-14312 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14312 > Project: Cassandra > Issue Type: Improvement >Reporter: Kenneth Brotman >Priority: Major > > I want to create two sub directories "2_x" and "3_x" under "doc". I'll then > copy the files under "doc" to each of the new subdirectories so we can begin > making version specific documentation. No links are changed yet. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14312) Create sub directories for version specific documentation
[ https://issues.apache.org/jira/browse/CASSANDRA-14312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398159#comment-16398159 ] Kenneth Brotman commented on CASSANDRA-14312: - As pointed out, this appears to be a duplicate. > Create sub directories for version specific documentation > - > > Key: CASSANDRA-14312 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14312 > Project: Cassandra > Issue Type: Improvement >Reporter: Kenneth Brotman >Priority: Major > > I want to create two sub directories "2_x" and "3_x" under "doc". I'll then > copy the files under "doc" to each of the new subdirectories so we can begin > making version specific documentation. No links are changed yet. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14312) Create sub directories for version specific documentation
[ https://issues.apache.org/jira/browse/CASSANDRA-14312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398157#comment-16398157 ] Dinesh Joshi commented on CASSANDRA-14312: -- Hi Kenneth, per discussion on the mailing list, please don't add documentation of older releases to trunk. Update it in their respective branches. > Create sub directories for version specific documentation > - > > Key: CASSANDRA-14312 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14312 > Project: Cassandra > Issue Type: Improvement >Reporter: Kenneth Brotman >Priority: Major > > I want to create two sub directories "2_x" and "3_x" under "doc". I'll then > copy the files under "doc" to each of the new subdirectories so we can begin > making version specific documentation. No links are changed yet. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Commented] (CASSANDRA-14312) Create sub directories for version specific documentation
[ https://issues.apache.org/jira/browse/CASSANDRA-14312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16398151#comment-16398151 ] Murukesh Mohanan commented on CASSANDRA-14312: -- Is this related to CASSANDRA-13907? > Create sub directories for version specific documentation > - > > Key: CASSANDRA-14312 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14312 > Project: Cassandra > Issue Type: Improvement >Reporter: Kenneth Brotman >Priority: Major > > I want to create two sub directories "2_x" and "3_x" under "doc". I'll then > copy the files under "doc" to each of the new subdirectories so we can begin > making version specific documentation. No links are changed yet. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Updated] (CASSANDRA-14275) Cassandra Driver should send identification information to Server
[ https://issues.apache.org/jira/browse/CASSANDRA-14275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dinesh Joshi updated CASSANDRA-14275: - Status: Patch Available (was: Open) > Cassandra Driver should send identification information to Server > - > > Key: CASSANDRA-14275 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14275 > Project: Cassandra > Issue Type: New Feature > Components: Core >Reporter: Dinesh Joshi >Assignee: Dinesh Joshi >Priority: Major > Fix For: 4.x > > > Currently there doesn't seem to be any way to readily identify the driver > that clients are using to connect to Cassandra. Add the capability of > identifying the driver through metadata information much like how HTTP > Clients identify themselves through User-Agent HTTP header. This is useful > for debugging in large deployments where clients tend to use different > drivers, wrappers and language bindings to connect to Cassandra. This can > help surface issues as well as help detect clients which are using older or > unsupported drivers. > The identification information should be a string that unambiguously > identifies the driver. It should include information such as the name of the > driver, it's version, CQL version, Platform (Linux, macOS, Windows, etc.) and > architecture (x86, x86_64). > We should surface this information in `nodetool clientstats` command. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org
[jira] [Created] (CASSANDRA-14312) Create sub directories for version specific documentation
Kenneth Brotman created CASSANDRA-14312: --- Summary: Create sub directories for version specific documentation Key: CASSANDRA-14312 URL: https://issues.apache.org/jira/browse/CASSANDRA-14312 Project: Cassandra Issue Type: Improvement Reporter: Kenneth Brotman I want to create two sub directories "2_x" and "3_x" under "doc". I'll then copy the files under "doc" to each of the new subdirectories so we can begin making version specific documentation. No links are changed yet. -- This message was sent by Atlassian JIRA (v7.6.3#76005) - To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org