[jira] [Commented] (CASSANDRA-5544) Hadoop jobs assigns only one mapper in task
[ https://issues.apache.org/jira/browse/CASSANDRA-5544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669054#comment-13669054 ] Shamim Ahmed commented on CASSANDRA-5544: - Alex, thank you very much for your quick response. However, i am afraid that above patch will not solve the problem i described we got more than 100 maps but 2 of them (always two maps) got very large Map input records and runs more than hours - point 4 - this behavior is unexpected. This means Map input records is not evenly through cluster, most of the maps getting Map input records = 1 but only two of them getting more than millions. Certainly i will do some test through thrift api as you described. One more things, would you kindly allows user to define PIG_INPUT_SPLIT_SIZE through cassandra store URL as STORE updated INTO 'cassandra://KEYSPACE/CF?allow_deletes=truePIG_INPUT_SPLIT_SIZE=xx' USING CassandraStorage() instead of system environment. Hadoop jobs assigns only one mapper in task Key: CASSANDRA-5544 URL: https://issues.apache.org/jira/browse/CASSANDRA-5544 Project: Cassandra Issue Type: Bug Components: Hadoop Affects Versions: 1.2.1 Environment: Red hat linux 5.4, Hadoop 1.0.3, pig 0.11.1 Reporter: Shamim Ahmed Assignee: Alex Liu Attachments: 5544-1.txt, 5544.txt, Screen Shot 2013-05-26 at 4.49.48 PM.png We have got very strange beheviour of hadoop cluster after upgrading Cassandra from 1.1.5 to Cassandra 1.2.1. We have 5 nodes cluster of Cassandra, where three of them are hodoop slaves. Now when we are submitting job through Pig script, only one map assigns in task running on one of the hadoop slaves regardless of volume of data (already tried with more than million rows). Configure of pig as follows: export PIG_HOME=/oracle/pig-0.10.0 export PIG_CONF_DIR=${HADOOP_HOME}/conf export PIG_INITIAL_ADDRESS=192.168.157.103 export PIG_RPC_PORT=9160 export PIG_PARTITIONER=org.apache.cassandra.dht.Murmur3Partitioner Also we have these following properties in hadoop: property namemapred.tasktracker.map.tasks.maximum/name value10/value /property property namemapred.map.tasks/name value4/value /property -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5417) Push composites support in the storage engine
[ https://issues.apache.org/jira/browse/CASSANDRA-5417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669063#comment-13669063 ] Sylvain Lebresne commented on CASSANDRA-5417: - bq. Should we push this to 2.1? Yes. I'd need to get back to this and I will but there is more pressing issues to fix for 2.0. Push composites support in the storage engine - Key: CASSANDRA-5417 URL: https://issues.apache.org/jira/browse/CASSANDRA-5417 Project: Cassandra Issue Type: Improvement Reporter: Sylvain Lebresne Assignee: Sylvain Lebresne Fix For: 2.0 CompositeType happens to be very useful and is now widely used: CQL3 heavily rely on it, and super columns are now using it too internally. Besides, CompositeType has been advised as a replacement of super columns on the thrift side for a while, so it's safe to assume that it's generally used there too. CompositeType has initially been introduced as just another AbstractType. Meaning that the storage engine has no nothing whatsoever of composites being, well, composite. This has the following drawbacks: * Because internally a composite value is handled as just a ByteBuffer, we end up doing a lot of extra work. Typically, each time we compare 2 composite value, we end up deserializing the components (which, while it doesn't copy data per-se because we just slice the global ByteBuffer, still waste some cpu cycles and allocate a bunch of ByteBuffer objects). And since compare can be called *a lot*, this is likely not negligible. * This make CQL3 code uglier than necessary. Basically, CQL3 makes extensive use of composites, and since it gets backs ByteBuffer from the internal columns, it always have to check if it's actually a compositeType or not, and then split it and pick the different parts it needs. It's only an API problem, but having things exposed as composites directly would definitively make thinks cleaner. In particular, in most cases, CQL3 don't care whether it has a composite with only one component or a non-really-composite value, but we still always distinguishes both cases. Lastly, if we do expose composites more directly internally, it's not a lot more work to internalize better the different parts of the cell name that CQL3 uses (what's the clustering key, what's the actuall CQL3 column name, what's the collection element), making things cleaner. Last but not least, there is currently a bunch of places where methods take a ByteBuffer as argument and it's hard to know whether it expects a cell name or a CQL3 column name. This is pretty error prone. * It makes it hard (or impossible) to do a number of performance improvements. Consider CASSANDRA-4175, I'm not really sure how you can do it properly (in memory) if cell names are just ByteBuffer (since CQL3 column names are just one of the component in general). But we also miss oportunities of sharing prefixes. If we were able to share prefixes of composite names in memory we would 1) lower the memory footprint and 2) potentially speed-up comparison (of the prefixes) by checking reference equality first (also, doing prefix sharing on-disk, which is a separate concern btw, might be easier to do if we do prefix sharing in memory). So I suggest pushing CompositeType support inside the storage engine. What I mean by that concretely would be change the internal {{Column.name}} from ByteBuffer to some CellName type. A CellName would API-wise just be a list of ByteBuffer. But in practice, we'd have a specific CellName implementation for not-really-composite names, and the truly composite implementation will allow some prefix sharing. From an external API however, nothing would change, we would pack the composite as usual before sending it back to the client, but at least internally, comparison won't have to deserialize the components every time, and CQL3 code will be cleaner. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5417) Push composites support in the storage engine
[ https://issues.apache.org/jira/browse/CASSANDRA-5417?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-5417: Fix Version/s: (was: 2.0) 2.1 Push composites support in the storage engine - Key: CASSANDRA-5417 URL: https://issues.apache.org/jira/browse/CASSANDRA-5417 Project: Cassandra Issue Type: Improvement Reporter: Sylvain Lebresne Assignee: Sylvain Lebresne Fix For: 2.1 CompositeType happens to be very useful and is now widely used: CQL3 heavily rely on it, and super columns are now using it too internally. Besides, CompositeType has been advised as a replacement of super columns on the thrift side for a while, so it's safe to assume that it's generally used there too. CompositeType has initially been introduced as just another AbstractType. Meaning that the storage engine has no nothing whatsoever of composites being, well, composite. This has the following drawbacks: * Because internally a composite value is handled as just a ByteBuffer, we end up doing a lot of extra work. Typically, each time we compare 2 composite value, we end up deserializing the components (which, while it doesn't copy data per-se because we just slice the global ByteBuffer, still waste some cpu cycles and allocate a bunch of ByteBuffer objects). And since compare can be called *a lot*, this is likely not negligible. * This make CQL3 code uglier than necessary. Basically, CQL3 makes extensive use of composites, and since it gets backs ByteBuffer from the internal columns, it always have to check if it's actually a compositeType or not, and then split it and pick the different parts it needs. It's only an API problem, but having things exposed as composites directly would definitively make thinks cleaner. In particular, in most cases, CQL3 don't care whether it has a composite with only one component or a non-really-composite value, but we still always distinguishes both cases. Lastly, if we do expose composites more directly internally, it's not a lot more work to internalize better the different parts of the cell name that CQL3 uses (what's the clustering key, what's the actuall CQL3 column name, what's the collection element), making things cleaner. Last but not least, there is currently a bunch of places where methods take a ByteBuffer as argument and it's hard to know whether it expects a cell name or a CQL3 column name. This is pretty error prone. * It makes it hard (or impossible) to do a number of performance improvements. Consider CASSANDRA-4175, I'm not really sure how you can do it properly (in memory) if cell names are just ByteBuffer (since CQL3 column names are just one of the component in general). But we also miss oportunities of sharing prefixes. If we were able to share prefixes of composite names in memory we would 1) lower the memory footprint and 2) potentially speed-up comparison (of the prefixes) by checking reference equality first (also, doing prefix sharing on-disk, which is a separate concern btw, might be easier to do if we do prefix sharing in memory). So I suggest pushing CompositeType support inside the storage engine. What I mean by that concretely would be change the internal {{Column.name}} from ByteBuffer to some CellName type. A CellName would API-wise just be a list of ByteBuffer. But in practice, we'd have a specific CellName implementation for not-really-composite names, and the truly composite implementation will allow some prefix sharing. From an external API however, nothing would change, we would pack the composite as usual before sending it back to the client, but at least internally, comparison won't have to deserialize the components every time, and CQL3 code will be cleaner. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-2737) CQL: support IF EXISTS extension for DROP commands (table, keyspace, index)
[ https://issues.apache.org/jira/browse/CASSANDRA-2737?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michał Michalski updated CASSANDRA-2737: Attachment: 2737-poor-mans-testcase.cql 2737-v2.txt Attaching patch + poor man's testcase (set of CQL commands) :-) CQL: support IF EXISTS extension for DROP commands (table, keyspace, index) --- Key: CASSANDRA-2737 URL: https://issues.apache.org/jira/browse/CASSANDRA-2737 Project: Cassandra Issue Type: New Feature Affects Versions: 0.8.0 Reporter: Cathy Daw Priority: Trivial Labels: cql Fix For: 2.1 Attachments: 2737-concept-v1.txt, 2737-poor-mans-testcase.cql, 2737-v2.txt -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-4131) Integrate Hive support to be in core cassandra
[ https://issues.apache.org/jira/browse/CASSANDRA-4131?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669084#comment-13669084 ] Cyril Scetbon commented on CASSANDRA-4131: -- Any news about this last issue with duplicate rows ? Integrate Hive support to be in core cassandra -- Key: CASSANDRA-4131 URL: https://issues.apache.org/jira/browse/CASSANDRA-4131 Project: Cassandra Issue Type: Improvement Reporter: Jeremy Hanna Assignee: Edward Capriolo Labels: hadoop, hive The standalone hive support (at https://github.com/riptano/hive) would be great to have in-tree so that people don't have to go out to github to download it and wonder if it's a left-for-dead external shim. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5578) update trigger schema to use Set instead of CDL text
[ https://issues.apache.org/jira/browse/CASSANDRA-5578?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vijay updated CASSANDRA-5578: - Attachment: 0001-CASSANDRA-5578.patch Attached patch uses CDL text and also i fixed a bug where the earlier implementation did not allow removing the trigger. CLI Example: [default@Keyspace1] update column family Standard1 with trigger_classes='org.apache.cassandra.triggers.LogColumnUpdates'; 8335a76e-606c-3646-99ee-ee005199d5df [default@Keyspace1] update column family Standard1 with trigger_classes=''; 2dc26f35-58b3-3e7a-899a-355c8bd34cc5 CQL Example: cqlsh:Keyspace1 ALTER TABLE Standard1 with trigger_classes = 'org.apache.cassandra.triggers.LogColumnUpdates,org.apache.cassandra.triggers.InvertedIndex'; cqlsh:Keyspace1 ALTER TABLE Standard1 with trigger_classes = ''; cqlsh:Keyspace1 update trigger schema to use Set instead of CDL text Key: CASSANDRA-5578 URL: https://issues.apache.org/jira/browse/CASSANDRA-5578 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 2.0 Reporter: Jonathan Ellis Assignee: Vijay Fix For: 2.0 Attachments: 0001-CASSANDRA-5578.patch Should probably name column {{trigger_classes}} or just {{triggers}} too. (See https://issues.apache.org/jira/browse/CASSANDRA-3919?focusedCommentId=13604931page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13604931 for why adding pseudo-collections will make life harder as we upgrade.) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CASSANDRA-5597) Allow switching to vertical output for SELECTs in cqlsh
Michał Michalski created CASSANDRA-5597: --- Summary: Allow switching to vertical output for SELECTs in cqlsh Key: CASSANDRA-5597 URL: https://issues.apache.org/jira/browse/CASSANDRA-5597 Project: Cassandra Issue Type: Improvement Reporter: Michał Michalski Assignee: Michał Michalski Priority: Trivial Attachments: cqlsh-vertical-output-switch.txt I sometimes find it quite useful to present SELECT's output in cqlsh vertically (equivalent of PostgreSQL's \x or --expand), so I wrote a patch that adds an EXPAND command to cqlsh which allows user to switch between vertical and horizontal output. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5597) Allow switching to vertical output for SELECTs in cqlsh
[ https://issues.apache.org/jira/browse/CASSANDRA-5597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michał Michalski updated CASSANDRA-5597: Attachment: cqlsh-vertical-output-switch.txt patch Allow switching to vertical output for SELECTs in cqlsh --- Key: CASSANDRA-5597 URL: https://issues.apache.org/jira/browse/CASSANDRA-5597 Project: Cassandra Issue Type: Improvement Reporter: Michał Michalski Assignee: Michał Michalski Priority: Trivial Labels: cqlsh Attachments: cqlsh-vertical-output-switch.txt I sometimes find it quite useful to present SELECT's output in cqlsh vertically (equivalent of PostgreSQL's \x or --expand), so I wrote a patch that adds an EXPAND command to cqlsh which allows user to switch between vertical and horizontal output. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-3734) Support native link w/o JNA in Java7
[ https://issues.apache.org/jira/browse/CASSANDRA-3734?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jason Brown updated CASSANDRA-3734: --- Attachment: 3734-v4.diff Support native link w/o JNA in Java7 Key: CASSANDRA-3734 URL: https://issues.apache.org/jira/browse/CASSANDRA-3734 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Jason Brown Priority: Minor Fix For: 2.0 Attachments: 3734-v2.diff, 3734-v3.patch, 3734-v4.diff, CASSANDRA-3734-trunk-v1.txt Java7 provides native support for hard links: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#createLink(java.nio.file.Path, java.nio.file.Path) We should prefer this method when Java7 is the host. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3734) Support native link w/o JNA in Java7
[ https://issues.apache.org/jira/browse/CASSANDRA-3734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669183#comment-13669183 ] Jason Brown commented on CASSANDRA-3734: reabsed and removed FileUtils.createTemporaryDirectory() from previous patch (hence, the smaller diff file) Support native link w/o JNA in Java7 Key: CASSANDRA-3734 URL: https://issues.apache.org/jira/browse/CASSANDRA-3734 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Jason Brown Priority: Minor Fix For: 2.0 Attachments: 3734-v2.diff, 3734-v3.patch, 3734-v4.diff, CASSANDRA-3734-trunk-v1.txt Java7 provides native support for hard links: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#createLink(java.nio.file.Path, java.nio.file.Path) We should prefer this method when Java7 is the host. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Comment Edited] (CASSANDRA-3734) Support native link w/o JNA in Java7
[ https://issues.apache.org/jira/browse/CASSANDRA-3734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669183#comment-13669183 ] Jason Brown edited comment on CASSANDRA-3734 at 5/29/13 12:23 PM: -- v4 - reabsed and removed FileUtils.createTemporaryDirectory() from previous patch (hence, the smaller diff file) was (Author: jasobrown): reabsed and removed FileUtils.createTemporaryDirectory() from previous patch (hence, the smaller diff file) Support native link w/o JNA in Java7 Key: CASSANDRA-3734 URL: https://issues.apache.org/jira/browse/CASSANDRA-3734 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Jason Brown Priority: Minor Fix For: 2.0 Attachments: 3734-v2.diff, 3734-v3.patch, 3734-v4.diff, CASSANDRA-3734-trunk-v1.txt Java7 provides native support for hard links: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#createLink(java.nio.file.Path, java.nio.file.Path) We should prefer this method when Java7 is the host. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5429) Update scrub and scrubtest for single-pass compaction format
[ https://issues.apache.org/jira/browse/CASSANDRA-5429?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669186#comment-13669186 ] Jason Brown commented on CASSANDRA-5429: Will try to knock it out this week. Update scrub and scrubtest for single-pass compaction format Key: CASSANDRA-5429 URL: https://issues.apache.org/jira/browse/CASSANDRA-5429 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 2.0 Reporter: Jonathan Ellis Assignee: Jason Brown Fix For: 2.0 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CASSANDRA-5598) Need invalid exception when submitting a prepared statement with too many markers
Anne Sullivan created CASSANDRA-5598: Summary: Need invalid exception when submitting a prepared statement with too many markers Key: CASSANDRA-5598 URL: https://issues.apache.org/jira/browse/CASSANDRA-5598 Project: Cassandra Issue Type: Improvement Components: Core Affects Versions: 1.2.4 Environment: [cqlsh 2.3.0 | Cassandra 1.2.4 | CQL spec 3.0.0 | Thrift protocol 19.35.0] Reporter: Anne Sullivan Priority: Minor Binary protocol uses a short value so this places a limit of 16K on the number of bound variable, would be nice to see an InvalidException at prepared time if statement contains more markers than supported (thank you to pcmanus pointing this out on IRC channel). Currently, no error is given until you try to execute the query and get the following (which is misleading because the bound # is much smaller than the limit): com.datastax.driver.core.exceptions.InvalidQueryException: there were 135000 markers(?) in CQL but 3928 bound variables -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3734) Support native link w/o JNA in Java7
[ https://issues.apache.org/jira/browse/CASSANDRA-3734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669274#comment-13669274 ] Aleksey Yeschenko commented on CASSANDRA-3734: -- Is there a good reason to keep the createHardLinkWithExec() fallback? Support native link w/o JNA in Java7 Key: CASSANDRA-3734 URL: https://issues.apache.org/jira/browse/CASSANDRA-3734 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Jason Brown Priority: Minor Fix For: 2.0 Attachments: 3734-v2.diff, 3734-v3.patch, 3734-v4.diff, CASSANDRA-3734-trunk-v1.txt Java7 provides native support for hard links: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#createLink(java.nio.file.Path, java.nio.file.Path) We should prefer this method when Java7 is the host. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5544) Hadoop jobs assigns only one mapper in task
[ https://issues.apache.org/jira/browse/CASSANDRA-5544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669276#comment-13669276 ] Cyril Scetbon commented on CASSANDRA-5544: -- Or maybe via a SET PIG_INPUT_SPLIT_SIZE in Pig script ? [~alexliu68] I open the second ticket to improve performance with vnodes except if you prefer to open it, which could be better :) Hadoop jobs assigns only one mapper in task Key: CASSANDRA-5544 URL: https://issues.apache.org/jira/browse/CASSANDRA-5544 Project: Cassandra Issue Type: Bug Components: Hadoop Affects Versions: 1.2.1 Environment: Red hat linux 5.4, Hadoop 1.0.3, pig 0.11.1 Reporter: Shamim Ahmed Assignee: Alex Liu Attachments: 5544-1.txt, 5544.txt, Screen Shot 2013-05-26 at 4.49.48 PM.png We have got very strange beheviour of hadoop cluster after upgrading Cassandra from 1.1.5 to Cassandra 1.2.1. We have 5 nodes cluster of Cassandra, where three of them are hodoop slaves. Now when we are submitting job through Pig script, only one map assigns in task running on one of the hadoop slaves regardless of volume of data (already tried with more than million rows). Configure of pig as follows: export PIG_HOME=/oracle/pig-0.10.0 export PIG_CONF_DIR=${HADOOP_HOME}/conf export PIG_INITIAL_ADDRESS=192.168.157.103 export PIG_RPC_PORT=9160 export PIG_PARTITIONER=org.apache.cassandra.dht.Murmur3Partitioner Also we have these following properties in hadoop: property namemapred.tasktracker.map.tasks.maximum/name value10/value /property property namemapred.map.tasks/name value4/value /property -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5576) CREATE/DROP TRIGGER in CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-5576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669283#comment-13669283 ] Jonathan Ellis commented on CASSANDRA-5576: --- Whichever is easier. :) CREATE/DROP TRIGGER in CQL -- Key: CASSANDRA-5576 URL: https://issues.apache.org/jira/browse/CASSANDRA-5576 Project: Cassandra Issue Type: Bug Components: API, Core Reporter: Jonathan Ellis Assignee: Vijay Fix For: 2.0 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5578) update trigger schema to use Set instead of CDL text
[ https://issues.apache.org/jira/browse/CASSANDRA-5578?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669300#comment-13669300 ] Aleksey Yeschenko commented on CASSANDRA-5578: -- What we want here is to make trigger_classes column here in system.schema_columnfamilies to be of settext type instead of text. Also - cql3 syntax for (with tirgger_classes = string) won't do. Has to be a set (with trigger_classes = {'class1', 'class2', 'class3'}) - alternatively, drop trigger update support from ALTER TABLE completely and rely on CASSANDRA-5576 instead for trigger creation and removal - we don't want to have two ways to accomplish the same stuff. - there is no need to touch/alter cql2 code, it's in life-support mode now And personally I'd prefer just 'triggers' instead of 'trigger_classes', the latter is redundant, but ignore this one if you will. update trigger schema to use Set instead of CDL text Key: CASSANDRA-5578 URL: https://issues.apache.org/jira/browse/CASSANDRA-5578 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 2.0 Reporter: Jonathan Ellis Assignee: Vijay Fix For: 2.0 Attachments: 0001-CASSANDRA-5578.patch Should probably name column {{trigger_classes}} or just {{triggers}} too. (See https://issues.apache.org/jira/browse/CASSANDRA-3919?focusedCommentId=13604931page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13604931 for why adding pseudo-collections will make life harder as we upgrade.) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3734) Support native link w/o JNA in Java7
[ https://issues.apache.org/jira/browse/CASSANDRA-3734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669305#comment-13669305 ] Jeremy Hanna commented on CASSANDRA-3734: - I would think if they were still using Java 6 and aren't able to use JNA for some reason? Or are we requiring Java 7 for v2? Support native link w/o JNA in Java7 Key: CASSANDRA-3734 URL: https://issues.apache.org/jira/browse/CASSANDRA-3734 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Jason Brown Priority: Minor Fix For: 2.0 Attachments: 3734-v2.diff, 3734-v3.patch, 3734-v4.diff, CASSANDRA-3734-trunk-v1.txt Java7 provides native support for hard links: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#createLink(java.nio.file.Path, java.nio.file.Path) We should prefer this method when Java7 is the host. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3734) Support native link w/o JNA in Java7
[ https://issues.apache.org/jira/browse/CASSANDRA-3734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669311#comment-13669311 ] Aleksey Yeschenko commented on CASSANDRA-3734: -- bq. I would think if they were still using Java 6 and aren't able to use JNA for some reason? Or are we requiring Java 7 for v2? We are requiring Java 7, and this patch gets rid of jna-for-hardlinks entirely. Support native link w/o JNA in Java7 Key: CASSANDRA-3734 URL: https://issues.apache.org/jira/browse/CASSANDRA-3734 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Jason Brown Priority: Minor Fix For: 2.0 Attachments: 3734-v2.diff, 3734-v3.patch, 3734-v4.diff, CASSANDRA-3734-trunk-v1.txt Java7 provides native support for hard links: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#createLink(java.nio.file.Path, java.nio.file.Path) We should prefer this method when Java7 is the host. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5542) BulkLoader is broken in trunk
[ https://issues.apache.org/jira/browse/CASSANDRA-5542?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yuki Morishita updated CASSANDRA-5542: -- Attachment: 5542.txt There are two classes that need to change: * DatabaseDescriptor We need to set memoryAllocator in order to create IndexSummary. * SSTableLoader Create dummy CFMetadata and pass it to SSTableReader.open, so it can use default values for bf_fp_chance and index_interval. I'm not sure if that the best approach for second one though. BulkLoader is broken in trunk - Key: CASSANDRA-5542 URL: https://issues.apache.org/jira/browse/CASSANDRA-5542 Project: Cassandra Issue Type: Bug Affects Versions: 2.0 Reporter: Yuki Morishita Attachments: 5542.txt After CASSANDRA-5015 and CASSANDRA-5521, we need CFMetaData to open SSTable(Reader), especially to get bloom_filter_fp_chance and index_interval. When using bulkloader, CFMetaData is not available, so we cannot open SSTable to be streamed. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5576) CREATE/DROP TRIGGER in CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-5576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669381#comment-13669381 ] Aleksey Yeschenko commented on CASSANDRA-5576: -- I would drop 'FOR EACH MUTATION' for now - until we have other trigger types (if we ever do at all). Also, we might (and probably will) need to store additional info - or at least add the ability to parametrize triggers. So a column in schema_columnfamilies won't do (even a map, to keep the names). We should add another system schema cf, something like this: {noformat} CREATE TABLE schema_triggers ( keyspace_name text, columnfamily_name text, trigger_name text, trigger_options maptext, text, PRIMARY KEY (keyspace_name, columnfamily_name, trigger_name) ); {noformat} And for consistency with CREATE CUSTOM INDEX and other CREATE's, use the following syntax for CREATE TRIGGER: {noformat} CREATE TRIGGER name ON cfname WITH options = {'class': …, ..} {noformat} (Support only 'class' for now). This makes CASSANDRA-5578 semi-irrelevant, since we are not going to keep triggers info in schema_columnfamilies anymore. CREATE/DROP TRIGGER in CQL -- Key: CASSANDRA-5576 URL: https://issues.apache.org/jira/browse/CASSANDRA-5576 Project: Cassandra Issue Type: Bug Components: API, Core Reporter: Jonathan Ellis Assignee: Vijay Fix For: 2.0 -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CASSANDRA-5599) Intermittently, CQL SELECT with WHERE on secondary indexed field value returns null when there are rows
Ravi Basawa created CASSANDRA-5599: -- Summary: Intermittently, CQL SELECT with WHERE on secondary indexed field value returns null when there are rows Key: CASSANDRA-5599 URL: https://issues.apache.org/jira/browse/CASSANDRA-5599 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 1.2.5, 1.2.4 Environment: x86_64 / RedHat Enterprise Linux 4.x Reporter: Ravi Basawa Priority: Minor Intermittently, CQL SELECT with WHERE on secondary indexed field value returns null when there are rows. As it happens intermittently, it is difficult to replicate. To resolve we have had to recreate the index. Also using the nodetool to reindex did not help us either. We would create a table, create a secondary index for that table on a field, import data then when we try to select rows from that table with where on said field which should return results, we get a null back ...intermittently. Sometimes works, sometimes not. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5597) Allow switching to vertical output for SELECTs in cqlsh
[ https://issues.apache.org/jira/browse/CASSANDRA-5597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams updated CASSANDRA-5597: Reviewer: iamaleksey Allow switching to vertical output for SELECTs in cqlsh --- Key: CASSANDRA-5597 URL: https://issues.apache.org/jira/browse/CASSANDRA-5597 Project: Cassandra Issue Type: Improvement Reporter: Michał Michalski Assignee: Michał Michalski Priority: Trivial Labels: cqlsh Attachments: cqlsh-vertical-output-switch.txt I sometimes find it quite useful to present SELECT's output in cqlsh vertically (equivalent of PostgreSQL's \x or --expand), so I wrote a patch that adds an EXPAND command to cqlsh which allows user to switch between vertical and horizontal output. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-3734) Support native link w/o JNA in Java7
[ https://issues.apache.org/jira/browse/CASSANDRA-3734?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jason Brown updated CASSANDRA-3734: --- Attachment: 3734-v5.diff ahh, good catch. createHardLinkWithExec() removed from v5 Support native link w/o JNA in Java7 Key: CASSANDRA-3734 URL: https://issues.apache.org/jira/browse/CASSANDRA-3734 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Jason Brown Priority: Minor Fix For: 2.0 Attachments: 3734-v2.diff, 3734-v3.patch, 3734-v4.diff, 3734-v5.diff, CASSANDRA-3734-trunk-v1.txt Java7 provides native support for hard links: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#createLink(java.nio.file.Path, java.nio.file.Path) We should prefer this method when Java7 is the host. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-3734) Support native link w/o JNA in Java7
[ https://issues.apache.org/jira/browse/CASSANDRA-3734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669397#comment-13669397 ] Aleksey Yeschenko commented on CASSANDRA-3734: -- +1 Support native link w/o JNA in Java7 Key: CASSANDRA-3734 URL: https://issues.apache.org/jira/browse/CASSANDRA-3734 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Jason Brown Priority: Minor Fix For: 2.0 Attachments: 3734-v2.diff, 3734-v3.patch, 3734-v4.diff, 3734-v5.diff, CASSANDRA-3734-trunk-v1.txt Java7 provides native support for hard links: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#createLink(java.nio.file.Path, java.nio.file.Path) We should prefer this method when Java7 is the host. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
git commit: CASSANDRA-3734: native link via java7 (no jna)
Updated Branches: refs/heads/trunk 34407424b - 01e79f5df CASSANDRA-3734: native link via java7 (no jna) Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/01e79f5d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/01e79f5d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/01e79f5d Branch: refs/heads/trunk Commit: 01e79f5df870c2c98c4725cce50caecb3f6cbb27 Parents: 3440742 Author: Jason Brown jasedbr...@gmail.com Authored: Mon Mar 4 06:31:00 2013 -0800 Committer: Jason Brown jasedbr...@gmail.com Committed: Wed May 29 09:19:57 2013 -0700 -- .../org/apache/cassandra/io/util/FileUtils.java|7 +- src/java/org/apache/cassandra/utils/CLibrary.java | 65 --- 2 files changed, 5 insertions(+), 67 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/01e79f5d/src/java/org/apache/cassandra/io/util/FileUtils.java -- diff --git a/src/java/org/apache/cassandra/io/util/FileUtils.java b/src/java/org/apache/cassandra/io/util/FileUtils.java index 69038fa..005d3bb 100644 --- a/src/java/org/apache/cassandra/io/util/FileUtils.java +++ b/src/java/org/apache/cassandra/io/util/FileUtils.java @@ -21,6 +21,8 @@ import java.io.*; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.nio.MappedByteBuffer; +import java.nio.file.Files; +import java.nio.file.Paths; import java.text.DecimalFormat; import java.util.Arrays; @@ -34,7 +36,6 @@ import org.apache.cassandra.io.FSError; import org.apache.cassandra.io.FSReadError; import org.apache.cassandra.io.FSWriteError; import org.apache.cassandra.service.StorageService; -import org.apache.cassandra.utils.CLibrary; public class FileUtils { @@ -73,7 +74,9 @@ public class FileUtils try { -CLibrary.createHardLink(from, to); +// Avoiding getAbsolutePath() in case there is ever a difference between that and the the +// behavior of nio2. +Files.createLink(Paths.get(to.getPath()), Paths.get(from.getPath())); } catch (IOException e) { http://git-wip-us.apache.org/repos/asf/cassandra/blob/01e79f5d/src/java/org/apache/cassandra/utils/CLibrary.java -- diff --git a/src/java/org/apache/cassandra/utils/CLibrary.java b/src/java/org/apache/cassandra/utils/CLibrary.java index 2f6e088..09c7ac0 100644 --- a/src/java/org/apache/cassandra/utils/CLibrary.java +++ b/src/java/org/apache/cassandra/utils/CLibrary.java @@ -131,71 +131,6 @@ public final class CLibrary } } -/** - * Create a hard link for a given file. - * - * @param sourceFile The name of the source file. - * @param destinationFile The name of the destination file. - * - * @throws java.io.IOException if an error has occurred while creating the link. - */ -public static void createHardLink(File sourceFile, File destinationFile) throws IOException -{ -try -{ -link(sourceFile.getAbsolutePath(), destinationFile.getAbsolutePath()); -} -catch (UnsatisfiedLinkError e) -{ -createHardLinkWithExec(sourceFile, destinationFile); -} -catch (RuntimeException e) -{ -logger.error(Unable to create hard link, e); -if (!(e instanceof LastErrorException)) -throw e; -// there are 17 different error codes listed on the man page. punt until/unless we find which -// ones actually turn up in practice. -throw new IOException(String.format(Unable to create hard link from %s to %s (errno %d), -sourceFile, destinationFile, errno(e))); -} -} - -public static void createHardLinkWithExec(File sourceFile, File destinationFile) throws IOException -{ -String osname = System.getProperty(os.name); -ProcessBuilder pb; -if (osname.startsWith(Windows)) -{ -float osversion = Float.parseFloat(System.getProperty(os.version)); -if (osversion = 6.0f) -{ -pb = new ProcessBuilder(cmd, /c, mklink, /H, destinationFile.getAbsolutePath(), sourceFile.getAbsolutePath()); -} -else -{ -pb = new ProcessBuilder(fsutil, hardlink, create, destinationFile.getAbsolutePath(), sourceFile.getAbsolutePath()); -} -} -else -{ -pb = new ProcessBuilder(ln, sourceFile.getAbsolutePath(), destinationFile.getAbsolutePath()); -pb.redirectErrorStream(true); -} -
[jira] [Commented] (CASSANDRA-3734) Support native link w/o JNA in Java7
[ https://issues.apache.org/jira/browse/CASSANDRA-3734?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669402#comment-13669402 ] Jason Brown commented on CASSANDRA-3734: committed. thanks! Support native link w/o JNA in Java7 Key: CASSANDRA-3734 URL: https://issues.apache.org/jira/browse/CASSANDRA-3734 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Jonathan Ellis Assignee: Jason Brown Priority: Minor Fix For: 2.0 Attachments: 3734-v2.diff, 3734-v3.patch, 3734-v4.diff, 3734-v5.diff, CASSANDRA-3734-trunk-v1.txt Java7 provides native support for hard links: http://docs.oracle.com/javase/7/docs/api/java/nio/file/Files.html#createLink(java.nio.file.Path, java.nio.file.Path) We should prefer this method when Java7 is the host. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Assigned] (CASSANDRA-5524) Allow upgradesstables to be run against a specified directory
[ https://issues.apache.org/jira/browse/CASSANDRA-5524?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Nick Bailey reassigned CASSANDRA-5524: -- Assignee: Nick Bailey Allow upgradesstables to be run against a specified directory - Key: CASSANDRA-5524 URL: https://issues.apache.org/jira/browse/CASSANDRA-5524 Project: Cassandra Issue Type: Improvement Components: Tools Reporter: Tyler Hobbs Assignee: Nick Bailey Priority: Minor Currently, upgradesstables only modifies live SSTables. Because sstableloader cannot stream old SSTable formats, this makes it difficult to restore data from a snapshot taken in a previous major version of Cassandra. Allowing the user to specify a directory for upgradesstables would resolve this, but it may also be nice to upgrade SSTables in snapshot directories automatically or with a separate flag. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
git commit: Support native link w/o JNA in Java7 patch by jasobrown; reviewed by iamaleksey for CASSANDRA-3734
Updated Branches: refs/heads/trunk 01e79f5df - c1b87043b Support native link w/o JNA in Java7 patch by jasobrown; reviewed by iamaleksey for CASSANDRA-3734 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c1b87043 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c1b87043 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c1b87043 Branch: refs/heads/trunk Commit: c1b87043b28d950caa5c285eba00b1e7e2d20972 Parents: 01e79f5 Author: Jason Brown jasedbr...@gmail.com Authored: Wed May 29 09:34:18 2013 -0700 Committer: Jason Brown jasedbr...@gmail.com Committed: Wed May 29 09:34:18 2013 -0700 -- CHANGES.txt |1 + 1 files changed, 1 insertions(+), 0 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c1b87043/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index cef5963..f31bbb5 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -54,6 +54,7 @@ queries (CASSANDRA-5514, CASSANDRA-5595) * Binary protocol: allow batching already prepared statements (CASSANDRA-4693) * Allow preparing timestamp, ttl and limit in CQL3 queries (CASSANDRA-4450) + * Support native link w/o JNA in Java7 (CASSANDRA-3734) 1.2.6 * (Hadoop) Fix InputKeyRange in CFIF (CASSANDRA-5536)
git commit: target 2.0 to run on java7 and above
Updated Branches: refs/heads/trunk c1b87043b - b3101a17a target 2.0 to run on java7 and above Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b3101a17 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b3101a17 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b3101a17 Branch: refs/heads/trunk Commit: b3101a17aeeae310579ae3446a94917895754691 Parents: c1b8704 Author: Yuki Morishita yu...@apache.org Authored: Wed May 29 10:27:37 2013 -0500 Committer: Yuki Morishita yu...@apache.org Committed: Wed May 29 11:41:08 2013 -0500 -- build.xml |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/b3101a17/build.xml -- diff --git a/build.xml b/build.xml index e8b536c..5a2feff 100644 --- a/build.xml +++ b/build.xml @@ -60,8 +60,8 @@ property name=test.long.src value=${test.dir}/long/ property name=dist.dir value=${build.dir}/dist/ - property name=source.version value=1.6/ - property name=target.version value=1.6/ + property name=source.version value=1.7/ + property name=target.version value=1.7/ condition property=version value=${base.version} isset property=release/
[jira] [Commented] (CASSANDRA-5542) BulkLoader is broken in trunk
[ https://issues.apache.org/jira/browse/CASSANDRA-5542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669422#comment-13669422 ] Jonathan Ellis commented on CASSANDRA-5542: --- I'm a little skeptical about the SSTL changes as well. Seems dangerous to pass a default CFM that claims e.g. comparator that doesn't actually match the data. I note that we're passing null back in 1.2 as well; what changed? BulkLoader is broken in trunk - Key: CASSANDRA-5542 URL: https://issues.apache.org/jira/browse/CASSANDRA-5542 Project: Cassandra Issue Type: Bug Affects Versions: 2.0 Reporter: Yuki Morishita Assignee: Yuki Morishita Fix For: 2.0 Attachments: 5542.txt After CASSANDRA-5015 and CASSANDRA-5521, we need CFMetaData to open SSTable(Reader), especially to get bloom_filter_fp_chance and index_interval. When using bulkloader, CFMetaData is not available, so we cannot open SSTable to be streamed. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5597) Allow switching to vertical output for SELECTs in cqlsh
[ https://issues.apache.org/jira/browse/CASSANDRA-5597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669443#comment-13669443 ] Jeremiah Jordan commented on CASSANDRA-5597: I could see cases where it would be nice to have the PK values along the top with the Row # line. But that might make this a much more invasive patch and require knowledge of CQL2 vs CQL3. Allow switching to vertical output for SELECTs in cqlsh --- Key: CASSANDRA-5597 URL: https://issues.apache.org/jira/browse/CASSANDRA-5597 Project: Cassandra Issue Type: Improvement Reporter: Michał Michalski Assignee: Michał Michalski Priority: Trivial Labels: cqlsh Attachments: cqlsh-vertical-output-switch.txt I sometimes find it quite useful to present SELECT's output in cqlsh vertically (equivalent of PostgreSQL's \x or --expand), so I wrote a patch that adds an EXPAND command to cqlsh which allows user to switch between vertical and horizontal output. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5544) Hadoop jobs assigns only one mapper in task
[ https://issues.apache.org/jira/browse/CASSANDRA-5544?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Alex Liu updated CASSANDRA-5544: Attachment: 5544-2.txt Version 3 is attached. I add split_size as a parameter. Hadoop jobs assigns only one mapper in task Key: CASSANDRA-5544 URL: https://issues.apache.org/jira/browse/CASSANDRA-5544 Project: Cassandra Issue Type: Bug Components: Hadoop Affects Versions: 1.2.1 Environment: Red hat linux 5.4, Hadoop 1.0.3, pig 0.11.1 Reporter: Shamim Ahmed Assignee: Alex Liu Attachments: 5544-1.txt, 5544-2.txt, 5544.txt, Screen Shot 2013-05-26 at 4.49.48 PM.png We have got very strange beheviour of hadoop cluster after upgrading Cassandra from 1.1.5 to Cassandra 1.2.1. We have 5 nodes cluster of Cassandra, where three of them are hodoop slaves. Now when we are submitting job through Pig script, only one map assigns in task running on one of the hadoop slaves regardless of volume of data (already tried with more than million rows). Configure of pig as follows: export PIG_HOME=/oracle/pig-0.10.0 export PIG_CONF_DIR=${HADOOP_HOME}/conf export PIG_INITIAL_ADDRESS=192.168.157.103 export PIG_RPC_PORT=9160 export PIG_PARTITIONER=org.apache.cassandra.dht.Murmur3Partitioner Also we have these following properties in hadoop: property namemapred.tasktracker.map.tasks.maximum/name value10/value /property property namemapred.map.tasks/name value4/value /property -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5544) Hadoop jobs assigns only one mapper in task
[ https://issues.apache.org/jira/browse/CASSANDRA-5544?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669449#comment-13669449 ] Alex Liu commented on CASSANDRA-5544: - [~cscetbon] please open it, someone else may already open it. Hadoop jobs assigns only one mapper in task Key: CASSANDRA-5544 URL: https://issues.apache.org/jira/browse/CASSANDRA-5544 Project: Cassandra Issue Type: Bug Components: Hadoop Affects Versions: 1.2.1 Environment: Red hat linux 5.4, Hadoop 1.0.3, pig 0.11.1 Reporter: Shamim Ahmed Assignee: Alex Liu Attachments: 5544-1.txt, 5544-2.txt, 5544.txt, Screen Shot 2013-05-26 at 4.49.48 PM.png We have got very strange beheviour of hadoop cluster after upgrading Cassandra from 1.1.5 to Cassandra 1.2.1. We have 5 nodes cluster of Cassandra, where three of them are hodoop slaves. Now when we are submitting job through Pig script, only one map assigns in task running on one of the hadoop slaves regardless of volume of data (already tried with more than million rows). Configure of pig as follows: export PIG_HOME=/oracle/pig-0.10.0 export PIG_CONF_DIR=${HADOOP_HOME}/conf export PIG_INITIAL_ADDRESS=192.168.157.103 export PIG_RPC_PORT=9160 export PIG_PARTITIONER=org.apache.cassandra.dht.Murmur3Partitioner Also we have these following properties in hadoop: property namemapred.tasktracker.map.tasks.maximum/name value10/value /property property namemapred.map.tasks/name value4/value /property -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5597) Allow switching to vertical output for SELECTs in cqlsh
[ https://issues.apache.org/jira/browse/CASSANDRA-5597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669456#comment-13669456 ] Michał Michalski commented on CASSANDRA-5597: - Sounds interesting to me. I'll be very willing to take a look at this, but - prefereably - as a separate, follow-up task :-) Allow switching to vertical output for SELECTs in cqlsh --- Key: CASSANDRA-5597 URL: https://issues.apache.org/jira/browse/CASSANDRA-5597 Project: Cassandra Issue Type: Improvement Reporter: Michał Michalski Assignee: Michał Michalski Priority: Trivial Labels: cqlsh Attachments: cqlsh-vertical-output-switch.txt I sometimes find it quite useful to present SELECT's output in cqlsh vertically (equivalent of PostgreSQL's \x or --expand), so I wrote a patch that adds an EXPAND command to cqlsh which allows user to switch between vertical and horizontal output. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5597) Allow switching to vertical output for SELECTs in cqlsh
[ https://issues.apache.org/jira/browse/CASSANDRA-5597?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669460#comment-13669460 ] Jonathan Ellis commented on CASSANDRA-5597: --- +1 separate task. Allow switching to vertical output for SELECTs in cqlsh --- Key: CASSANDRA-5597 URL: https://issues.apache.org/jira/browse/CASSANDRA-5597 Project: Cassandra Issue Type: Improvement Reporter: Michał Michalski Assignee: Michał Michalski Priority: Trivial Labels: cqlsh Attachments: cqlsh-vertical-output-switch.txt I sometimes find it quite useful to present SELECT's output in cqlsh vertically (equivalent of PostgreSQL's \x or --expand), so I wrote a patch that adds an EXPAND command to cqlsh which allows user to switch between vertical and horizontal output. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[2/3] git commit: Pig: disable split combination, add split size param Patch by Alex Liu, reviewed by brandonwilliams for CASSANDRA-5544
Pig: disable split combination, add split size param Patch by Alex Liu, reviewed by brandonwilliams for CASSANDRA-5544 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6d7404bc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6d7404bc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6d7404bc Branch: refs/heads/trunk Commit: 6d7404bc2eec2c34feb6e2b9db938f9e0e5ae208 Parents: 27e8f87 Author: Brandon Williams brandonwilli...@apache.org Authored: Wed May 29 12:53:52 2013 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Wed May 29 12:53:52 2013 -0500 -- CHANGES.txt|1 + examples/pig/README.txt|4 +++ .../cassandra/hadoop/pig/CassandraStorage.java | 21 +++ 3 files changed, 26 insertions(+), 0 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6d7404bc/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 34e5b52..61bd4b7 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -12,6 +12,7 @@ Merged from 1.1: * Remove buggy thrift max message length option (CASSANDRA-5529) * Fix NPE in Pig's widerow mode (CASSANDRA-5488) + * Add split size parameter to Pig and disable split combination (CASSANDRA-5544) 1.2.5 http://git-wip-us.apache.org/repos/asf/cassandra/blob/6d7404bc/examples/pig/README.txt -- diff --git a/examples/pig/README.txt b/examples/pig/README.txt index 3ef7858..e3d9af6 100644 --- a/examples/pig/README.txt +++ b/examples/pig/README.txt @@ -88,3 +88,7 @@ PIG_USE_SECONDARY: this allows easy use of secondary indexes within your can also be set in the LOAD url by adding the 'use_secondary=true' parameter. +PIG_INPUT_SPLIT_SIZE: this sets the split size passed to Hadoop, controlling + the amount of mapper tasks created. This can also be set in the LOAD url by + adding the 'split_size=X' parameter, where X is an integer amount for the size. + http://git-wip-us.apache.org/repos/asf/cassandra/blob/6d7404bc/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java -- diff --git a/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java b/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java index 0854758..6490d05 100644 --- a/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java +++ b/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java @@ -77,6 +77,7 @@ public class CassandraStorage extends LoadFunc implements StoreFuncInterface, Lo public final static String PIG_ALLOW_DELETES = PIG_ALLOW_DELETES; public final static String PIG_WIDEROW_INPUT = PIG_WIDEROW_INPUT; public final static String PIG_USE_SECONDARY = PIG_USE_SECONDARY; +public final static String PIG_INPUT_SPLIT_SIZE = PIG_INPUT_SPLIT_SIZE; private final static String DEFAULT_INPUT_FORMAT = org.apache.cassandra.hadoop.ColumnFamilyInputFormat; private final static String DEFAULT_OUTPUT_FORMAT = org.apache.cassandra.hadoop.ColumnFamilyOutputFormat; @@ -105,6 +106,7 @@ public class CassandraStorage extends LoadFunc implements StoreFuncInterface, Lo private int limit; private boolean widerows = false; private boolean usePartitionFilter = false; +private int splitSize = 64 * 1024; // wide row hacks private ByteBuffer lastKey; private MapByteBuffer,IColumn lastRow; @@ -516,6 +518,8 @@ public class CassandraStorage extends LoadFunc implements StoreFuncInterface, Lo widerows = Boolean.parseBoolean(urlQuery.get(widerows)); if (urlQuery.containsKey(use_secondary)) usePartitionFilter = Boolean.parseBoolean(urlQuery.get(use_secondary)); +if (urlQuery.containsKey(split_size)) +splitSize = Integer.parseInt(urlQuery.get(split_size)); } String[] parts = urlParts[0].split(/+); String[] credentialsAndKeyspace = parts[1].split(@); @@ -591,6 +595,9 @@ public class CassandraStorage extends LoadFunc implements StoreFuncInterface, Lo public void setLocation(String location, Job job) throws IOException { conf = job.getConfiguration(); + +// don't combine mappers to a single mapper per node +conf.setBoolean(pig.noSplitCombination, true); setLocationFromUri(location); if (ConfigHelper.getInputSlicePredicate(conf) == null) @@ -603,12 +610,26 @@ public class CassandraStorage extends LoadFunc implements
[1/3] git commit: Pig: disable split combination, add split size param Patch by Alex Liu, reviewed by brandonwilliams for CASSANDRA-5544
Updated Branches: refs/heads/cassandra-1.2 27e8f87ff - 6d7404bc2 refs/heads/trunk b3101a17a - d78b62264 Pig: disable split combination, add split size param Patch by Alex Liu, reviewed by brandonwilliams for CASSANDRA-5544 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6d7404bc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6d7404bc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6d7404bc Branch: refs/heads/cassandra-1.2 Commit: 6d7404bc2eec2c34feb6e2b9db938f9e0e5ae208 Parents: 27e8f87 Author: Brandon Williams brandonwilli...@apache.org Authored: Wed May 29 12:53:52 2013 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Wed May 29 12:53:52 2013 -0500 -- CHANGES.txt|1 + examples/pig/README.txt|4 +++ .../cassandra/hadoop/pig/CassandraStorage.java | 21 +++ 3 files changed, 26 insertions(+), 0 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6d7404bc/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 34e5b52..61bd4b7 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -12,6 +12,7 @@ Merged from 1.1: * Remove buggy thrift max message length option (CASSANDRA-5529) * Fix NPE in Pig's widerow mode (CASSANDRA-5488) + * Add split size parameter to Pig and disable split combination (CASSANDRA-5544) 1.2.5 http://git-wip-us.apache.org/repos/asf/cassandra/blob/6d7404bc/examples/pig/README.txt -- diff --git a/examples/pig/README.txt b/examples/pig/README.txt index 3ef7858..e3d9af6 100644 --- a/examples/pig/README.txt +++ b/examples/pig/README.txt @@ -88,3 +88,7 @@ PIG_USE_SECONDARY: this allows easy use of secondary indexes within your can also be set in the LOAD url by adding the 'use_secondary=true' parameter. +PIG_INPUT_SPLIT_SIZE: this sets the split size passed to Hadoop, controlling + the amount of mapper tasks created. This can also be set in the LOAD url by + adding the 'split_size=X' parameter, where X is an integer amount for the size. + http://git-wip-us.apache.org/repos/asf/cassandra/blob/6d7404bc/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java -- diff --git a/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java b/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java index 0854758..6490d05 100644 --- a/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java +++ b/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java @@ -77,6 +77,7 @@ public class CassandraStorage extends LoadFunc implements StoreFuncInterface, Lo public final static String PIG_ALLOW_DELETES = PIG_ALLOW_DELETES; public final static String PIG_WIDEROW_INPUT = PIG_WIDEROW_INPUT; public final static String PIG_USE_SECONDARY = PIG_USE_SECONDARY; +public final static String PIG_INPUT_SPLIT_SIZE = PIG_INPUT_SPLIT_SIZE; private final static String DEFAULT_INPUT_FORMAT = org.apache.cassandra.hadoop.ColumnFamilyInputFormat; private final static String DEFAULT_OUTPUT_FORMAT = org.apache.cassandra.hadoop.ColumnFamilyOutputFormat; @@ -105,6 +106,7 @@ public class CassandraStorage extends LoadFunc implements StoreFuncInterface, Lo private int limit; private boolean widerows = false; private boolean usePartitionFilter = false; +private int splitSize = 64 * 1024; // wide row hacks private ByteBuffer lastKey; private MapByteBuffer,IColumn lastRow; @@ -516,6 +518,8 @@ public class CassandraStorage extends LoadFunc implements StoreFuncInterface, Lo widerows = Boolean.parseBoolean(urlQuery.get(widerows)); if (urlQuery.containsKey(use_secondary)) usePartitionFilter = Boolean.parseBoolean(urlQuery.get(use_secondary)); +if (urlQuery.containsKey(split_size)) +splitSize = Integer.parseInt(urlQuery.get(split_size)); } String[] parts = urlParts[0].split(/+); String[] credentialsAndKeyspace = parts[1].split(@); @@ -591,6 +595,9 @@ public class CassandraStorage extends LoadFunc implements StoreFuncInterface, Lo public void setLocation(String location, Job job) throws IOException { conf = job.getConfiguration(); + +// don't combine mappers to a single mapper per node +conf.setBoolean(pig.noSplitCombination, true); setLocationFromUri(location); if
[3/3] git commit: Merge branch 'cassandra-1.2' into trunk
Merge branch 'cassandra-1.2' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d78b6226 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d78b6226 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d78b6226 Branch: refs/heads/trunk Commit: d78b622646e47e158e73d37e5a87af5fddb38bea Parents: b3101a1 6d7404b Author: Brandon Williams brandonwilli...@apache.org Authored: Wed May 29 12:54:38 2013 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Wed May 29 12:54:38 2013 -0500 -- CHANGES.txt|1 + examples/pig/README.txt|4 +++ .../cassandra/hadoop/pig/CassandraStorage.java | 21 +++ 3 files changed, 26 insertions(+), 0 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d78b6226/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d78b6226/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java -- diff --cc src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java index b5c596e,6490d05..b5f20e7 --- a/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java +++ b/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java @@@ -106,9 -106,10 +107,10 @@@ public class CassandraStorage extends L private int limit; private boolean widerows = false; private boolean usePartitionFilter = false; + private int splitSize = 64 * 1024; // wide row hacks private ByteBuffer lastKey; -private MapByteBuffer,IColumn lastRow; +private MapByteBuffer,Column lastRow; private boolean hasNext = true; public CassandraStorage()
[2/2] git commit: cqlsh: add vertical output option (see EXPAND)
cqlsh: add vertical output option (see EXPAND) patch by MichaÅ Michalski; reviewed by Aleksey Yeschenko for CASSANDRA-5597 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/26c65e64 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/26c65e64 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/26c65e64 Branch: refs/heads/cassandra-1.2 Commit: 26c65e640cea57e8a2c0e007ab3f5febc7a2f160 Parents: 6d7404b Author: Aleksey Yeschenko alek...@apache.org Authored: Wed May 29 20:59:51 2013 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Wed May 29 21:01:58 2013 +0300 -- CHANGES.txt |1 + bin/cqlsh| 72 - pylib/cqlshlib/test/test_cqlsh_completion.py |6 +- 3 files changed, 73 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/26c65e64/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 61bd4b7..f51baae 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -9,6 +9,7 @@ * Exclude localTimestamp from validation for tombstones (CASSANDRA-5398) * cqlsh: add custom prompt support (CASSANDRA-5539) * Reuse prepared statements in hot auth queries (CASSANDRA-5594) + * cqlsh: add vertical output option (see EXPAND) (CASSANDRA-5597) Merged from 1.1: * Remove buggy thrift max message length option (CASSANDRA-5529) * Fix NPE in Pig's widerow mode (CASSANDRA-5488) http://git-wip-us.apache.org/repos/asf/cassandra/blob/26c65e64/bin/cqlsh -- diff --git a/bin/cqlsh b/bin/cqlsh index f96cb23..1abd078 100755 --- a/bin/cqlsh +++ b/bin/cqlsh @@ -32,7 +32,7 @@ exit 1 from __future__ import with_statement description = CQL Shell for Apache Cassandra -version = 3.0.3 +version = 3.1.0 from StringIO import StringIO from itertools import groupby @@ -188,6 +188,7 @@ my_commands_ending_with_newline = ( 'capture', 'debug', 'tracing', +'expand', 'exit', 'quit' ) @@ -214,6 +215,7 @@ cqlsh_extra_syntax_rules = r''' | debugCommand | helpCommand | tracingCommand + | expandCommand | exitCommand ; @@ -281,6 +283,9 @@ cqlsh_extra_syntax_rules = r''' tracingCommand ::= TRACING ( switch=( ON | OFF ) )? ; +expandCommand ::= EXPAND ( switch=( ON | OFF ) )? + ; + exitCommand ::= exit | quit ; @@ -467,7 +472,8 @@ class Shell(cmd.Cmd): def __init__(self, hostname, port, transport_factory, color=False, username=None, password=None, encoding=None, stdin=None, tty=True, completekey=DEFAULT_COMPLETEKEY, use_conn=None, - cqlver=DEFAULT_CQLVER, keyspace=None, tracing_enabled=False, + cqlver=DEFAULT_CQLVER, keyspace=None, + tracing_enabled=False, expand_enabled=False, display_time_format=DEFAULT_TIME_FORMAT, display_float_precision=DEFAULT_FLOAT_PRECISION): cmd.Cmd.__init__(self, completekey=completekey) @@ -478,6 +484,7 @@ class Shell(cmd.Cmd): self.password = password self.keyspace = keyspace self.tracing_enabled = tracing_enabled +self.expand_enabled = expand_enabled if use_conn is not None: self.conn = use_conn else: @@ -1109,7 +1116,10 @@ class Shell(cmd.Cmd): colnames_t = [(name, self.get_nametype(cursor, n)) for (n, name) in enumerate(colnames)] formatted_names = [self.myformat_colname(name, nametype) for (name, nametype) in colnames_t] formatted_values = [map(self.myformat_value, row, cursor.column_types) for row in cursor] -self.print_formatted_result(formatted_names, formatted_values) +if self.expand_enabled: +self.print_formatted_result_vertically(formatted_names, formatted_values) +else: +self.print_formatted_result(formatted_names, formatted_values) def print_formatted_result(self, formatted_names, formatted_values): # determine column widths @@ -1128,6 +1138,20 @@ class Shell(cmd.Cmd): line = ' | '.join(col.rjust(w, color=self.color) for (col, w) in zip(row, widths)) self.writeresult(' ' + line) +def print_formatted_result_vertically(self, formatted_names, formatted_values): +max_col_width = max([n.displaywidth for n in formatted_names]) +max_val_width = max([n.displaywidth for row in formatted_values for n in row]) + +# for each row returned, list all the
[1/2] git commit: Fix clqsh test_prompt
Updated Branches: refs/heads/cassandra-1.2 6d7404bc2 - 87450cb13 Fix clqsh test_prompt Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/87450cb1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/87450cb1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/87450cb1 Branch: refs/heads/cassandra-1.2 Commit: 87450cb13e6cab141e24f430db5532adcf18751c Parents: 26c65e6 Author: Aleksey Yeschenko alek...@apache.org Authored: Wed May 29 21:01:17 2013 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Wed May 29 21:01:58 2013 +0300 -- pylib/cqlshlib/test/test_cqlsh_output.py |8 1 files changed, 4 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/87450cb1/pylib/cqlshlib/test/test_cqlsh_output.py -- diff --git a/pylib/cqlshlib/test/test_cqlsh_output.py b/pylib/cqlshlib/test/test_cqlsh_output.py index e67cc9c..6ca251e 100644 --- a/pylib/cqlshlib/test/test_cqlsh_output.py +++ b/pylib/cqlshlib/test/test_cqlsh_output.py @@ -636,14 +636,14 @@ class TestCqlshOutput(BaseTestCase): ), cqlver=(2, 3)) def test_prompt(self): -with testrun_cqlsh(tty=True, keyspace=None, cqlver=2) as c: +with testrun_cqlsh(tty=True, keyspace=None, cqlver=3) as c: self.assertEqual(c.output_header.splitlines()[-1], 'cqlsh ') c.send('\n') output = c.read_to_next_prompt().replace('\r\n', '\n') self.assertEqual(output, '\ncqlsh ') -cmd = USE '%s';\n % get_test_keyspace().replace(', '') +cmd = 'USE %s;\n' % get_test_keyspace().replace('', '') c.send(cmd) output = c.read_to_next_prompt().replace('\r\n', '\n') self.assertEqual(output, '%scqlsh:%s ' % (cmd, get_test_keyspace())) @@ -655,10 +655,10 @@ class TestCqlshOutput(BaseTestCase): c.send('use NONEXISTENTKEYSPACE;\n') outputlines = c.read_to_next_prompt().splitlines() self.assertEqual(outputlines[0], 'use NONEXISTENTKEYSPACE;') -self.assertEqual(outputlines[3], 'cqlsh:system ') +self.assertEqual(outputlines[2], 'cqlsh:system ') midline = ColoredText(outputlines[1]) self.assertEqual(midline.plain(), - Bad Request: Keyspace 'NONEXISTENTKEYSPACE' does not exist) + Bad Request: Keyspace 'nonexistentkeyspace' does not exist) self.assertColorFromTags(midline, RR)
[jira] [Commented] (CASSANDRA-5542) BulkLoader is broken in trunk
[ https://issues.apache.org/jira/browse/CASSANDRA-5542?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669524#comment-13669524 ] Yuki Morishita commented on CASSANDRA-5542: --- On trunk, we are using bloom_filter_fp_chance and index_interval from CFMetaData when opening. If we pass null, we get NPE. BulkLoader is broken in trunk - Key: CASSANDRA-5542 URL: https://issues.apache.org/jira/browse/CASSANDRA-5542 Project: Cassandra Issue Type: Bug Affects Versions: 2.0 Reporter: Yuki Morishita Assignee: Yuki Morishita Fix For: 2.0 Attachments: 5542.txt After CASSANDRA-5015 and CASSANDRA-5521, we need CFMetaData to open SSTable(Reader), especially to get bloom_filter_fp_chance and index_interval. When using bulkloader, CFMetaData is not available, so we cannot open SSTable to be streamed. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[3/3] git commit: Merge branch 'cassandra-1.2' into trunk
Merge branch 'cassandra-1.2' into trunk Conflicts: bin/cqlsh pylib/cqlshlib/test/test_cqlsh_completion.py pylib/cqlshlib/test/test_cqlsh_output.py Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4f7e2b80 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4f7e2b80 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4f7e2b80 Branch: refs/heads/trunk Commit: 4f7e2b801894614266d8284bd41e7d2676c8773b Parents: d78b622 87450cb Author: Aleksey Yeschenko alek...@apache.org Authored: Wed May 29 21:12:08 2013 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Wed May 29 21:12:08 2013 +0300 -- CHANGES.txt |1 + bin/cqlsh| 70 - pylib/cqlshlib/test/test_cqlsh_completion.py |4 +- 3 files changed, 71 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4f7e2b80/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4f7e2b80/bin/cqlsh -- diff --cc bin/cqlsh index 977603b,1abd078..5741c31 --- a/bin/cqlsh +++ b/bin/cqlsh @@@ -952,6 -1138,29 +962,20 @@@ class Shell(cmd.Cmd) line = ' | '.join(col.rjust(w, color=self.color) for (col, w) in zip(row, widths)) self.writeresult(' ' + line) + def print_formatted_result_vertically(self, formatted_names, formatted_values): + max_col_width = max([n.displaywidth for n in formatted_names]) + max_val_width = max([n.displaywidth for row in formatted_values for n in row]) + + # for each row returned, list all the column-value pairs + for row_id, row in enumerate(formatted_values): + self.writeresult(@ Row %d % (row_id + 1)) + self.writeresult('-%s-' % '-+-'.join(['-' * max_col_width, '-' * max_val_width])) + for field_id, field in enumerate(row): + column = formatted_names[field_id].ljust(max_col_width, color=self.color) + value = field.ljust(field.displaywidth, color=self.color) + self.writeresult(' ' + | .join([column, value])) + self.writeresult('') + -def print_dynamic_result(self, cursor): -for row in cursor: -colnames = [d[0] for d in cursor.description] -colnames_t = [(name, self.get_nametype(cursor, n)) for (n, name) in enumerate(colnames)] -colnames = [self.myformat_colname(name, nametype) for (name, nametype) in colnames_t] -colvals = map(self.myformat_value, row, cursor.column_types) -line = ' | '.join('%s,%s' % (n.coloredval, v.coloredval) for (n, v) in zip(colnames, colvals)) -self.writeresult(' ' + line) - def emptyline(self): pass @@@ -1645,9 -2008,51 +1669,51 @@@ self.tracing_enabled = False print 'Disabled tracing.' + def do_expand(self, parsed): + + EXPAND [cqlsh] + + Enables or disables expanded (vertical) output. + + EXPAND ON + + Enables expanded (vertical) output. + + EXPAND OFF + + Disables expanded (vertical) output. + + EXPAND + + EXPAND with no arguments shows the current value of expand setting. + + switch = parsed.get_binding('switch') + if switch is None: + if self.expand_enabled: + print Expanded output is currently enabled. Use EXPAND OFF to disable + else: + print Expanded output is currently disabled. Use EXPAND ON to enable. + return + + if switch.upper() == 'ON': + if self.expand_enabled: + self.printerr('Expanded output is already enabled. ' + 'Use EXPAND OFF to disable.') + return + self.expand_enabled = True + print 'Now printing expanded output' + return + + if switch.upper() == 'OFF': + if not self.expand_enabled: + self.printerr('Expanded output is not enabled.') + return + self.expand_enabled = False + print 'Disabled expanded output.' + def do_consistency(self, parsed): -CONSISTENCY [cqlsh with CQL3 only] +CONSISTENCY [cqlsh only] Overrides default consistency level (default level is ONE). http://git-wip-us.apache.org/repos/asf/cassandra/blob/4f7e2b80/pylib/cqlshlib/test/test_cqlsh_completion.py
[1/3] git commit: Fix clqsh test_prompt
Updated Branches: refs/heads/trunk d78b62264 - 4f7e2b801 Fix clqsh test_prompt Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/87450cb1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/87450cb1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/87450cb1 Branch: refs/heads/trunk Commit: 87450cb13e6cab141e24f430db5532adcf18751c Parents: 26c65e6 Author: Aleksey Yeschenko alek...@apache.org Authored: Wed May 29 21:01:17 2013 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Wed May 29 21:01:58 2013 +0300 -- pylib/cqlshlib/test/test_cqlsh_output.py |8 1 files changed, 4 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/87450cb1/pylib/cqlshlib/test/test_cqlsh_output.py -- diff --git a/pylib/cqlshlib/test/test_cqlsh_output.py b/pylib/cqlshlib/test/test_cqlsh_output.py index e67cc9c..6ca251e 100644 --- a/pylib/cqlshlib/test/test_cqlsh_output.py +++ b/pylib/cqlshlib/test/test_cqlsh_output.py @@ -636,14 +636,14 @@ class TestCqlshOutput(BaseTestCase): ), cqlver=(2, 3)) def test_prompt(self): -with testrun_cqlsh(tty=True, keyspace=None, cqlver=2) as c: +with testrun_cqlsh(tty=True, keyspace=None, cqlver=3) as c: self.assertEqual(c.output_header.splitlines()[-1], 'cqlsh ') c.send('\n') output = c.read_to_next_prompt().replace('\r\n', '\n') self.assertEqual(output, '\ncqlsh ') -cmd = USE '%s';\n % get_test_keyspace().replace(', '') +cmd = 'USE %s;\n' % get_test_keyspace().replace('', '') c.send(cmd) output = c.read_to_next_prompt().replace('\r\n', '\n') self.assertEqual(output, '%scqlsh:%s ' % (cmd, get_test_keyspace())) @@ -655,10 +655,10 @@ class TestCqlshOutput(BaseTestCase): c.send('use NONEXISTENTKEYSPACE;\n') outputlines = c.read_to_next_prompt().splitlines() self.assertEqual(outputlines[0], 'use NONEXISTENTKEYSPACE;') -self.assertEqual(outputlines[3], 'cqlsh:system ') +self.assertEqual(outputlines[2], 'cqlsh:system ') midline = ColoredText(outputlines[1]) self.assertEqual(midline.plain(), - Bad Request: Keyspace 'NONEXISTENTKEYSPACE' does not exist) + Bad Request: Keyspace 'nonexistentkeyspace' does not exist) self.assertColorFromTags(midline, RR)
[2/3] git commit: cqlsh: add vertical output option (see EXPAND)
cqlsh: add vertical output option (see EXPAND) patch by MichaÅ Michalski; reviewed by Aleksey Yeschenko for CASSANDRA-5597 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/26c65e64 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/26c65e64 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/26c65e64 Branch: refs/heads/trunk Commit: 26c65e640cea57e8a2c0e007ab3f5febc7a2f160 Parents: 6d7404b Author: Aleksey Yeschenko alek...@apache.org Authored: Wed May 29 20:59:51 2013 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Wed May 29 21:01:58 2013 +0300 -- CHANGES.txt |1 + bin/cqlsh| 72 - pylib/cqlshlib/test/test_cqlsh_completion.py |6 +- 3 files changed, 73 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/26c65e64/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 61bd4b7..f51baae 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -9,6 +9,7 @@ * Exclude localTimestamp from validation for tombstones (CASSANDRA-5398) * cqlsh: add custom prompt support (CASSANDRA-5539) * Reuse prepared statements in hot auth queries (CASSANDRA-5594) + * cqlsh: add vertical output option (see EXPAND) (CASSANDRA-5597) Merged from 1.1: * Remove buggy thrift max message length option (CASSANDRA-5529) * Fix NPE in Pig's widerow mode (CASSANDRA-5488) http://git-wip-us.apache.org/repos/asf/cassandra/blob/26c65e64/bin/cqlsh -- diff --git a/bin/cqlsh b/bin/cqlsh index f96cb23..1abd078 100755 --- a/bin/cqlsh +++ b/bin/cqlsh @@ -32,7 +32,7 @@ exit 1 from __future__ import with_statement description = CQL Shell for Apache Cassandra -version = 3.0.3 +version = 3.1.0 from StringIO import StringIO from itertools import groupby @@ -188,6 +188,7 @@ my_commands_ending_with_newline = ( 'capture', 'debug', 'tracing', +'expand', 'exit', 'quit' ) @@ -214,6 +215,7 @@ cqlsh_extra_syntax_rules = r''' | debugCommand | helpCommand | tracingCommand + | expandCommand | exitCommand ; @@ -281,6 +283,9 @@ cqlsh_extra_syntax_rules = r''' tracingCommand ::= TRACING ( switch=( ON | OFF ) )? ; +expandCommand ::= EXPAND ( switch=( ON | OFF ) )? + ; + exitCommand ::= exit | quit ; @@ -467,7 +472,8 @@ class Shell(cmd.Cmd): def __init__(self, hostname, port, transport_factory, color=False, username=None, password=None, encoding=None, stdin=None, tty=True, completekey=DEFAULT_COMPLETEKEY, use_conn=None, - cqlver=DEFAULT_CQLVER, keyspace=None, tracing_enabled=False, + cqlver=DEFAULT_CQLVER, keyspace=None, + tracing_enabled=False, expand_enabled=False, display_time_format=DEFAULT_TIME_FORMAT, display_float_precision=DEFAULT_FLOAT_PRECISION): cmd.Cmd.__init__(self, completekey=completekey) @@ -478,6 +484,7 @@ class Shell(cmd.Cmd): self.password = password self.keyspace = keyspace self.tracing_enabled = tracing_enabled +self.expand_enabled = expand_enabled if use_conn is not None: self.conn = use_conn else: @@ -1109,7 +1116,10 @@ class Shell(cmd.Cmd): colnames_t = [(name, self.get_nametype(cursor, n)) for (n, name) in enumerate(colnames)] formatted_names = [self.myformat_colname(name, nametype) for (name, nametype) in colnames_t] formatted_values = [map(self.myformat_value, row, cursor.column_types) for row in cursor] -self.print_formatted_result(formatted_names, formatted_values) +if self.expand_enabled: +self.print_formatted_result_vertically(formatted_names, formatted_values) +else: +self.print_formatted_result(formatted_names, formatted_values) def print_formatted_result(self, formatted_names, formatted_values): # determine column widths @@ -1128,6 +1138,20 @@ class Shell(cmd.Cmd): line = ' | '.join(col.rjust(w, color=self.color) for (col, w) in zip(row, widths)) self.writeresult(' ' + line) +def print_formatted_result_vertically(self, formatted_names, formatted_values): +max_col_width = max([n.displaywidth for n in formatted_names]) +max_val_width = max([n.displaywidth for row in formatted_values for n in row]) + +# for each row returned, list all the column-value
[jira] [Commented] (CASSANDRA-4417) invalid counter shard detected
[ https://issues.apache.org/jira/browse/CASSANDRA-4417?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669539#comment-13669539 ] Phil Pirozhkov commented on CASSANDRA-4417: --- Cassandra 1.2.5, single node dev local installation. Schema: {code} CREATE TABLE reporting ( zoom int, time timestamp, total counter, PRIMARY KEY (zoom, time) ) WITH CLUSTERING ORDER BY (time ASC); update reporting set total = total + 1 where zoom = 0 and time = 1234142142141; update reporting set total = total + 1 where zoom = 1 and time = 1234142142141; update reporting set total = total + 1 where zoom = 2 and time = 1234142142141; {code} Query: {code}select * from reporting where zoom=0;{code} may produce different results, either rpc timeout either 'total' is null. Nodetool repair does nothing and hangs time to time. Chance to reproduce 50%. Tried to change to batch commitlog mode, same result (but 10 times less performant). invalid counter shard detected --- Key: CASSANDRA-4417 URL: https://issues.apache.org/jira/browse/CASSANDRA-4417 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 1.1.1 Environment: Amazon Linux Reporter: Senthilvel Rangaswamy Attachments: cassandra-mck.log.bz2, err.txt Seeing errors like these: 2012-07-06_07:00:27.22662 ERROR 07:00:27,226 invalid counter shard detected; (17bfd850-ac52-11e1--6ecd0b5b61e7, 1, 13) and (17bfd850-ac52-11e1--6ecd0b5b61e7, 1, 1) differ only in count; will pick highest to self-heal; this indicates a bug or corruption generated a bad counter shard What does it mean ? -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5286) Streaming 2.0
[ https://issues.apache.org/jira/browse/CASSANDRA-5286?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669594#comment-13669594 ] Yuki Morishita commented on CASSANDRA-5286: --- Still need to do work, but before I go too far, here is my working draft. Design doc: https://gist.github.com/yukim/5672508 Work in progress branch: https://github.com/yukim/cassandra/commits/5286-1 New streaming API only works on bootstrap/move on this version. I checked using dtest's bootstrap test. bq. I also think that streaming itself should be versioned separately from MS. I separated streaming message exchange from MS. Still not versioned yet, but definitely we should. I think we also want to support the ability to stream different versions of SSTable. Right now, it is required to have the same major SSTable version. bq. I think it would be nice if streaming was able to recover on error. True. I'm implementing stream event handler to track stream states, so maybe we can use that to resume streaming. Still TODO: * Implement streaming status tracker using JMX and StreamEventHandler so that user can use nodetool to show current status. * Migrate completely to new API. Still need to work on SSTableloader, repair and nodetool. * Unit tests Streaming 2.0 - Key: CASSANDRA-5286 URL: https://issues.apache.org/jira/browse/CASSANDRA-5286 Project: Cassandra Issue Type: Improvement Reporter: Yuki Morishita Labels: streaming Fix For: 2.0 2.0 is the good time to redesign streaming API including protocol to make streaming more performant and reliable. Design goals that come up in my mind: *Better performance* - Protocol optimization - Stream multiple files in parallel (CASSANDRA-4663) - Persistent connection (CASSANDRA-4660) *Better control* - Cleaner API for error handling - Integrate both IN/OUT streams into one session, so the components(bootstrap, move, bulkload, repair...) that use streaming can manage them easily. *Better reporting* - Better logging/tracing - More metrics - Progress reporting API for external client -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5272) Hinted Handoff Throttle based on cluster size
[ https://issues.apache.org/jira/browse/CASSANDRA-5272?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669639#comment-13669639 ] Jonathan Ellis commented on CASSANDRA-5272: --- I dunno, then you have to worry about flooding again with edge cases like CASSANDRA-3533. I'll go ahead and commit this and we can try to be more sophisticated later if warranted. Hinted Handoff Throttle based on cluster size - Key: CASSANDRA-5272 URL: https://issues.apache.org/jira/browse/CASSANDRA-5272 Project: Cassandra Issue Type: Improvement Components: Core Affects Versions: 1.2.0 Reporter: Rick Branson Assignee: Jonathan Ellis Priority: Minor Labels: lhf Fix For: 1.2.6 Attachments: 5272.txt For a 12-node EC2 m1.xlarge cluster, restarting a node causes it to get completely overloaded with the default 2-thread, 1024KB setting in 1.2.x. This seemed to be a smaller problem when it was 6-nodes, but still required us to abort handoffs. The old defaults in 1.1.x were WAY more conservative. I've dropped this way down to 128KB on our production cluster which is really conservative, but appears to have solved it. The default seems way too high on any cluster that is non-trivial in size. After putting some thought to this, it seems that this should really be based on cluster size, making the throttle a target for how much write load a single node can swallow. As the cluster grows, the amount of hints that can be delivered by each other node in the cluster goes down, so the throttle should self-adjust to take that into account. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[1/3] git commit: Scale hinted_handoff_throttle_in_kb to cluster size patch by jbellis; reviewed by rbranson for CASSANDRA-5272
Updated Branches: refs/heads/cassandra-1.2 87450cb13 - 19d2782c7 refs/heads/trunk 4f7e2b801 - f3b1a2cbc Scale hinted_handoff_throttle_in_kb to cluster size patch by jbellis; reviewed by rbranson for CASSANDRA-5272 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/19d2782c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/19d2782c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/19d2782c Branch: refs/heads/cassandra-1.2 Commit: 19d2782c715a0d0f73958edce3f4be3709f92d18 Parents: 87450cb Author: Jonathan Ellis jbel...@apache.org Authored: Wed May 29 14:59:45 2013 -0500 Committer: Jonathan Ellis jbel...@apache.org Committed: Wed May 29 14:59:45 2013 -0500 -- CHANGES.txt|1 + NEWS.txt | 10 ++ conf/cassandra.yaml|6 +- .../apache/cassandra/db/HintedHandOffManager.java |4 +++- 4 files changed, 19 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/19d2782c/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index f51baae..2b8e01f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 1.2.6 + * Scale hinted_handoff_throttle_in_kb to cluster size (CASSANDRA-5272) * (Hadoop) Fix InputKeyRange in CFIF (CASSANDRA-5536) * Fix dealing with ridiculously large max sstable sizes in LCS (CASSANDRA-5589) * Ignore pre-truncate hints (CASSANDRA-4655) http://git-wip-us.apache.org/repos/asf/cassandra/blob/19d2782c/NEWS.txt -- diff --git a/NEWS.txt b/NEWS.txt index 706cd29..099e366 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -8,6 +8,16 @@ upgrade, just in case you need to roll back to the previous version. (Cassandra version X + 1 will always be able to read data files created by version X, but the inverse is not necessarily the case.) +1.2.6 += + +Upgrading +- +- hinted_handoff_throttle_in_kb is now reduced by a factor + proportional to the number of nodes in the cluster (see + https://issues.apache.org/jira/browse/CASSANDRA-5272). + + 1.2.5 = http://git-wip-us.apache.org/repos/asf/cassandra/blob/19d2782c/conf/cassandra.yaml -- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 4d2eff3..2d2b484 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -42,7 +42,11 @@ hinted_handoff_enabled: true # generated. After it has been dead this long, new hints for it will not be # created until it has been seen alive and gone down again. max_hint_window_in_ms: 1080 # 3 hours -# throttle in KBs per second, per delivery thread +# Maximum throttle in KBs per second, per delivery thread. This will be +# reduced proportionally to the number of nodes in the cluster. (If there +# are two nodes in the cluster, each delivery thread will use the maximum +# rate; if there are three, each will throttle to half of the maximum, +# since we expect two nodes to be delivering hints simultaneously.) hinted_handoff_throttle_in_kb: 1024 # Number of threads with which to deliver hints; # Consider increasing this number when you have multi-dc deployments, since http://git-wip-us.apache.org/repos/asf/cassandra/blob/19d2782c/src/java/org/apache/cassandra/db/HintedHandOffManager.java -- diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java b/src/java/org/apache/cassandra/db/HintedHandOffManager.java index 9346fb3..5ca32c3 100644 --- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java +++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java @@ -300,7 +300,9 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean logger.debug(Using pageSize of {}, pageSize); // rate limit is in bytes per second. Uses Double.MAX_VALUE if disabled (set to 0 in cassandra.yaml). -int throttleInKB = DatabaseDescriptor.getHintedHandoffThrottleInKB(); +// max rate is scaled by the number of nodes in the cluster (CASSANDRA-5272). +int throttleInKB = DatabaseDescriptor.getHintedHandoffThrottleInKB() + / (StorageService.instance.getTokenMetadata().getAllEndpoints().size() - 1); RateLimiter rateLimiter = RateLimiter.create(throttleInKB == 0 ? Double.MAX_VALUE : throttleInKB * 1024); delivery:
[2/3] git commit: Scale hinted_handoff_throttle_in_kb to cluster size patch by jbellis; reviewed by rbranson for CASSANDRA-5272
Scale hinted_handoff_throttle_in_kb to cluster size patch by jbellis; reviewed by rbranson for CASSANDRA-5272 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/19d2782c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/19d2782c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/19d2782c Branch: refs/heads/trunk Commit: 19d2782c715a0d0f73958edce3f4be3709f92d18 Parents: 87450cb Author: Jonathan Ellis jbel...@apache.org Authored: Wed May 29 14:59:45 2013 -0500 Committer: Jonathan Ellis jbel...@apache.org Committed: Wed May 29 14:59:45 2013 -0500 -- CHANGES.txt|1 + NEWS.txt | 10 ++ conf/cassandra.yaml|6 +- .../apache/cassandra/db/HintedHandOffManager.java |4 +++- 4 files changed, 19 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/19d2782c/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index f51baae..2b8e01f 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 1.2.6 + * Scale hinted_handoff_throttle_in_kb to cluster size (CASSANDRA-5272) * (Hadoop) Fix InputKeyRange in CFIF (CASSANDRA-5536) * Fix dealing with ridiculously large max sstable sizes in LCS (CASSANDRA-5589) * Ignore pre-truncate hints (CASSANDRA-4655) http://git-wip-us.apache.org/repos/asf/cassandra/blob/19d2782c/NEWS.txt -- diff --git a/NEWS.txt b/NEWS.txt index 706cd29..099e366 100644 --- a/NEWS.txt +++ b/NEWS.txt @@ -8,6 +8,16 @@ upgrade, just in case you need to roll back to the previous version. (Cassandra version X + 1 will always be able to read data files created by version X, but the inverse is not necessarily the case.) +1.2.6 += + +Upgrading +- +- hinted_handoff_throttle_in_kb is now reduced by a factor + proportional to the number of nodes in the cluster (see + https://issues.apache.org/jira/browse/CASSANDRA-5272). + + 1.2.5 = http://git-wip-us.apache.org/repos/asf/cassandra/blob/19d2782c/conf/cassandra.yaml -- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 4d2eff3..2d2b484 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -42,7 +42,11 @@ hinted_handoff_enabled: true # generated. After it has been dead this long, new hints for it will not be # created until it has been seen alive and gone down again. max_hint_window_in_ms: 1080 # 3 hours -# throttle in KBs per second, per delivery thread +# Maximum throttle in KBs per second, per delivery thread. This will be +# reduced proportionally to the number of nodes in the cluster. (If there +# are two nodes in the cluster, each delivery thread will use the maximum +# rate; if there are three, each will throttle to half of the maximum, +# since we expect two nodes to be delivering hints simultaneously.) hinted_handoff_throttle_in_kb: 1024 # Number of threads with which to deliver hints; # Consider increasing this number when you have multi-dc deployments, since http://git-wip-us.apache.org/repos/asf/cassandra/blob/19d2782c/src/java/org/apache/cassandra/db/HintedHandOffManager.java -- diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java b/src/java/org/apache/cassandra/db/HintedHandOffManager.java index 9346fb3..5ca32c3 100644 --- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java +++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java @@ -300,7 +300,9 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean logger.debug(Using pageSize of {}, pageSize); // rate limit is in bytes per second. Uses Double.MAX_VALUE if disabled (set to 0 in cassandra.yaml). -int throttleInKB = DatabaseDescriptor.getHintedHandoffThrottleInKB(); +// max rate is scaled by the number of nodes in the cluster (CASSANDRA-5272). +int throttleInKB = DatabaseDescriptor.getHintedHandoffThrottleInKB() + / (StorageService.instance.getTokenMetadata().getAllEndpoints().size() - 1); RateLimiter rateLimiter = RateLimiter.create(throttleInKB == 0 ? Double.MAX_VALUE : throttleInKB * 1024); delivery:
[3/3] git commit: merge from 1.2
merge from 1.2 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f3b1a2cb Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f3b1a2cb Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f3b1a2cb Branch: refs/heads/trunk Commit: f3b1a2cbcf64caac1af275db6ffd14db45e1bd57 Parents: 4f7e2b8 19d2782 Author: Jonathan Ellis jbel...@apache.org Authored: Wed May 29 15:00:11 2013 -0500 Committer: Jonathan Ellis jbel...@apache.org Committed: Wed May 29 15:00:11 2013 -0500 -- CHANGES.txt|1 + NEWS.txt | 10 ++ conf/cassandra.yaml|6 +- .../apache/cassandra/db/HintedHandOffManager.java |4 +++- 4 files changed, 19 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f3b1a2cb/CHANGES.txt -- diff --cc CHANGES.txt index 2f2505b,2b8e01f..edf091d --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,62 -1,5 +1,63 @@@ +2.0 + * Removed on-heap row cache (CASSANDRA-5348) + * use nanotime consistently for node-local timeouts (CASSANDRA-5581) + * Avoid unnecessary second pass on name-based queries (CASSANDRA-5577) + * Experimental triggers (CASSANDRA-1311) + * JEMalloc support for off-heap allocation (CASSANDRA-3997) + * Single-pass compaction (CASSANDRA-4180) + * Removed token range bisection (CASSANDRA-5518) + * Removed compatibility with pre-1.2.5 sstables and network messages + (CASSANDRA-5511) + * removed PBSPredictor (CASSANDRA-5455) + * CAS support (CASSANDRA-5062, 5441, 5442, 5443) + * Leveled compaction performs size-tiered compactions in L0 + (CASSANDRA-5371, 5439) + * Add yaml network topology snitch for mixed ec2/other envs (CASSANDRA-5339) + * Log when a node is down longer than the hint window (CASSANDRA-4554) + * Optimize tombstone creation for ExpiringColumns (CASSANDRA-4917) + * Improve LeveledScanner work estimation (CASSANDRA-5250, 5407) + * Replace compaction lock with runWithCompactionsDisabled (CASSANDRA-3430) + * Change Message IDs to ints (CASSANDRA-5307) + * Move sstable level information into the Stats component, removing the + need for a separate Manifest file (CASSANDRA-4872) + * avoid serializing to byte[] on commitlog append (CASSANDRA-5199) + * make index_interval configurable per columnfamily (CASSANDRA-3961) + * add default_time_to_live (CASSANDRA-3974) + * add memtable_flush_period_in_ms (CASSANDRA-4237) + * replace supercolumns internally by composites (CASSANDRA-3237, 5123) + * upgrade thrift to 0.9.0 (CASSANDRA-3719) + * drop unnecessary keyspace parameter from user-defined compaction API + (CASSANDRA-5139) + * more robust solution to incomplete compactions + counters (CASSANDRA-5151) + * Change order of directory searching for c*.in.sh (CASSANDRA-3983) + * Add tool to reset SSTable compaction level for LCS (CASSANDRA-5271) + * Allow custom configuration loader (CASSANDRA-5045) + * Remove memory emergency pressure valve logic (CASSANDRA-3534) + * Reduce request latency with eager retry (CASSANDRA-4705) + * cqlsh: Remove ASSUME command (CASSANDRA-5331) + * Rebuild BF when loading sstables if bloom_filter_fp_chance + has changed since compaction (CASSANDRA-5015) + * remove row-level bloom filters (CASSANDRA-4885) + * Change Kernel Page Cache skipping into row preheating (disabled by default) + (CASSANDRA-4937) + * Improve repair by deciding on a gcBefore before sending + out TreeRequests (CASSANDRA-4932) + * Add an official way to disable compactions (CASSANDRA-5074) + * Reenable ALTER TABLE DROP with new semantics (CASSANDRA-3919) + * Add binary protocol versioning (CASSANDRA-5436) + * Swap THshaServer for TThreadedSelectorServer (CASSANDRA-5530) + * Add alias support to SELECT statement (CASSANDRA-5075) + * Don't create empty RowMutations in CommitLogReplayer (CASSANDRA-5541) + * Use range tombstones when dropping cfs/columns from schema (CASSANDRA-5579) + * cqlsh: drop CQL2/CQL3-beta support (CASSANDRA-5585) + * Track max/min column names in sstables to be able to optimize slice + queries (CASSANDRA-5514, CASSANDRA-5595) + * Binary protocol: allow batching already prepared statements (CASSANDRA-4693) + * Allow preparing timestamp, ttl and limit in CQL3 queries (CASSANDRA-4450) + * Support native link w/o JNA in Java7 (CASSANDRA-3734) + 1.2.6 + * Scale hinted_handoff_throttle_in_kb to cluster size (CASSANDRA-5272) * (Hadoop) Fix InputKeyRange in CFIF (CASSANDRA-5536) * Fix dealing with ridiculously large max sstable sizes in LCS (CASSANDRA-5589) * Ignore pre-truncate hints (CASSANDRA-4655)
[jira] [Created] (CASSANDRA-5600) fix intersection-checking in CompositeType
Marcus Eriksson created CASSANDRA-5600: -- Summary: fix intersection-checking in CompositeType Key: CASSANDRA-5600 URL: https://issues.apache.org/jira/browse/CASSANDRA-5600 Project: Cassandra Issue Type: Bug Affects Versions: 2.0 Reporter: Marcus Eriksson Assignee: Marcus Eriksson CASSANDRA-5514 introduced the ability to skip entire sstables based on max/min column names in the sstable. This ticket aims to fix a few issues with it: * dont use ACT.deconstruct on the hot path * remove assert that compares type count with collected columns -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5555) Allow sstableloader to handle a larger number of files
[ https://issues.apache.org/jira/browse/CASSANDRA-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669697#comment-13669697 ] Jonathan Ellis commented on CASSANDRA-: --- I have a better idea. Should be relatively easy to special case SSTableReader.open to just not load BF + partition summary in batch mode. Allow sstableloader to handle a larger number of files -- Key: CASSANDRA- URL: https://issues.apache.org/jira/browse/CASSANDRA- Project: Cassandra Issue Type: Improvement Components: Tools Reporter: Tyler Hobbs Assignee: Dave Brosius Fix For: 1.2.6 Attachments: -01.txt With the default heap size, sstableloader will OOM when there are roughly 25k files in the directory to load. It's easy to reach this number of files in a single LCS column family. By avoiding creating all SSTableReaders up front in SSTableLoader, we should be able to increase the number of files that sstableloader can handle considerably. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5555) Allow sstableloader to handle a larger number of files
[ https://issues.apache.org/jira/browse/CASSANDRA-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669743#comment-13669743 ] Brandon Williams commented on CASSANDRA-: - +1 Allow sstableloader to handle a larger number of files -- Key: CASSANDRA- URL: https://issues.apache.org/jira/browse/CASSANDRA- Project: Cassandra Issue Type: Improvement Components: Tools Reporter: Tyler Hobbs Assignee: Dave Brosius Fix For: 1.2.6 Attachments: -01.txt With the default heap size, sstableloader will OOM when there are roughly 25k files in the directory to load. It's easy to reach this number of files in a single LCS column family. By avoiding creating all SSTableReaders up front in SSTableLoader, we should be able to increase the number of files that sstableloader can handle considerably. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5555) Allow sstableloader to handle a larger number of files
[ https://issues.apache.org/jira/browse/CASSANDRA-?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-: -- Component/s: Core Reviewer: dbrosius (was: jbellis) Assignee: Jonathan Ellis (was: Dave Brosius) Patchset posted to https://github.com/jbellis/cassandra/commits/ Allow sstableloader to handle a larger number of files -- Key: CASSANDRA- URL: https://issues.apache.org/jira/browse/CASSANDRA- Project: Cassandra Issue Type: Improvement Components: Core, Tools Reporter: Tyler Hobbs Assignee: Jonathan Ellis Fix For: 1.2.6 Attachments: -01.txt With the default heap size, sstableloader will OOM when there are roughly 25k files in the directory to load. It's easy to reach this number of files in a single LCS column family. By avoiding creating all SSTableReaders up front in SSTableLoader, we should be able to increase the number of files that sstableloader can handle considerably. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
git commit: initialize memoryAllocator in client mode as well patch by yukim; reviewed by jbellis for CASSANDRA-5542
Updated Branches: refs/heads/trunk f3b1a2cbc - 22be25b89 initialize memoryAllocator in client mode as well patch by yukim; reviewed by jbellis for CASSANDRA-5542 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/22be25b8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/22be25b8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/22be25b8 Branch: refs/heads/trunk Commit: 22be25b89c22f3a77a73b20ce1b819b257914d20 Parents: f3b1a2c Author: Jonathan Ellis jbel...@apache.org Authored: Wed May 29 15:13:21 2013 -0500 Committer: Jonathan Ellis jbel...@apache.org Committed: Wed May 29 15:13:21 2013 -0500 -- .../cassandra/config/DatabaseDescriptor.java | 36 --- 1 files changed, 19 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/22be25b8/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- diff --git a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java index 7a13d13..4d6abae 100644 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@ -88,29 +88,31 @@ public class DatabaseDescriptor // In client mode, we use a default configuration. Note that the fields of this class will be // left unconfigured however (the partitioner or localDC will be null for instance) so this // should be used with care. -if (Config.isClientMode()) -{ -conf = new Config(); -} -else +try { -try +if (Config.isClientMode()) { -applyConfig(loadConfig()); -} -catch (ConfigurationException e) -{ -logger.error(Fatal configuration error, e); -System.err.println(e.getMessage() + \nFatal configuration error; unable to start server. See log for stacktrace.); -System.exit(1); +conf = new Config(); +// at least we have to set memoryAllocator to open SSTable in client mode +memoryAllocator = FBUtilities.newOffHeapAllocator(conf.memory_allocator); } -catch (Exception e) +else { -logger.error(Fatal error during configuration loading, e); -System.err.println(e.getMessage() + \nFatal error during configuration loading; unable to start server. See log for stacktrace.); -System.exit(1); +applyConfig(loadConfig()); } } +catch (ConfigurationException e) +{ +logger.error(Fatal configuration error, e); +System.err.println(e.getMessage() + \nFatal configuration error; unable to start. See log for stacktrace.); +System.exit(1); +} +catch (Exception e) +{ +logger.error(Fatal error during configuration loading, e); +System.err.println(e.getMessage() + \nFatal error during configuration loading; unable to start. See log for stacktrace.); +System.exit(1); +} } @VisibleForTesting
[jira] [Commented] (CASSANDRA-5555) Allow sstableloader to handle a larger number of files
[ https://issues.apache.org/jira/browse/CASSANDRA-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669803#comment-13669803 ] Dave Brosius commented on CASSANDRA-: - 'RandomAccessReader in' should be closed in finally block. Allow sstableloader to handle a larger number of files -- Key: CASSANDRA- URL: https://issues.apache.org/jira/browse/CASSANDRA- Project: Cassandra Issue Type: Improvement Components: Core, Tools Reporter: Tyler Hobbs Assignee: Jonathan Ellis Fix For: 1.2.6 Attachments: -01.txt With the default heap size, sstableloader will OOM when there are roughly 25k files in the directory to load. It's easy to reach this number of files in a single LCS column family. By avoiding creating all SSTableReaders up front in SSTableLoader, we should be able to increase the number of files that sstableloader can handle considerably. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5555) Allow sstableloader to handle a larger number of files
[ https://issues.apache.org/jira/browse/CASSANDRA-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669806#comment-13669806 ] Jonathan Ellis commented on CASSANDRA-: --- pushed fix Allow sstableloader to handle a larger number of files -- Key: CASSANDRA- URL: https://issues.apache.org/jira/browse/CASSANDRA- Project: Cassandra Issue Type: Improvement Components: Core, Tools Reporter: Tyler Hobbs Assignee: Jonathan Ellis Fix For: 1.2.6 Attachments: -01.txt With the default heap size, sstableloader will OOM when there are roughly 25k files in the directory to load. It's easy to reach this number of files in a single LCS column family. By avoiding creating all SSTableReaders up front in SSTableLoader, we should be able to increase the number of files that sstableloader can handle considerably. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5555) Allow sstableloader to handle a larger number of files
[ https://issues.apache.org/jira/browse/CASSANDRA-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669811#comment-13669811 ] Dave Brosius commented on CASSANDRA-: - I am cut off from the network at present.that's all I see on visual inspection. hopefully I'll be up tomorrow and can try it out. (Phone access :) Allow sstableloader to handle a larger number of files -- Key: CASSANDRA- URL: https://issues.apache.org/jira/browse/CASSANDRA- Project: Cassandra Issue Type: Improvement Components: Core, Tools Reporter: Tyler Hobbs Assignee: Jonathan Ellis Fix For: 1.2.6 Attachments: -01.txt With the default heap size, sstableloader will OOM when there are roughly 25k files in the directory to load. It's easy to reach this number of files in a single LCS column family. By avoiding creating all SSTableReaders up front in SSTableLoader, we should be able to increase the number of files that sstableloader can handle considerably. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Created] (CASSANDRA-5601) Raise logging levels for QUORUM failures
Jeremiah Jordan created CASSANDRA-5601: -- Summary: Raise logging levels for QUORUM failures Key: CASSANDRA-5601 URL: https://issues.apache.org/jira/browse/CASSANDRA-5601 Project: Cassandra Issue Type: Improvement Reporter: Jeremiah Jordan Priority: Minor Received a suggestion that it might be nice to log consistency failures above DEBUG, so they could be tracked in server side logs more easily. For example: https://github.com/apache/cassandra/blob/cassandra-1.1/src/java/org/apache/cassandra/service/DatacenterReadCallback.java#L108 or https://github.com/apache/cassandra/blob/cassandra-1.1/src/java/org/apache/cassandra/service/ReadCallback.java#L232 Currently to get those messages you have to enable DEBUG for all of ReadCallback, so you get a log message from https://github.com/apache/cassandra/blob/cassandra-1.1/src/java/org/apache/cassandra/service/ReadCallback.java#L79 for every read, which is very spammy. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (CASSANDRA-5601) Raise logging levels for consistency failures
[ https://issues.apache.org/jira/browse/CASSANDRA-5601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jeremiah Jordan updated CASSANDRA-5601: --- Summary: Raise logging levels for consistency failures (was: Raise logging levels for QUORUM failures) Raise logging levels for consistency failures - Key: CASSANDRA-5601 URL: https://issues.apache.org/jira/browse/CASSANDRA-5601 Project: Cassandra Issue Type: Improvement Reporter: Jeremiah Jordan Priority: Minor Received a suggestion that it might be nice to log consistency failures above DEBUG, so they could be tracked in server side logs more easily. For example: https://github.com/apache/cassandra/blob/cassandra-1.1/src/java/org/apache/cassandra/service/DatacenterReadCallback.java#L108 or https://github.com/apache/cassandra/blob/cassandra-1.1/src/java/org/apache/cassandra/service/ReadCallback.java#L232 Currently to get those messages you have to enable DEBUG for all of ReadCallback, so you get a log message from https://github.com/apache/cassandra/blob/cassandra-1.1/src/java/org/apache/cassandra/service/ReadCallback.java#L79 for every read, which is very spammy. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (CASSANDRA-5601) Raise logging levels for consistency failures
[ https://issues.apache.org/jira/browse/CASSANDRA-5601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669868#comment-13669868 ] Brandon Williams commented on CASSANDRA-5601: - The best to do this is probably expose a counter in JMX and nodetool. It'd be per-coordinator, but it sounds a bit more advanced than scraping all the logs. Raise logging levels for consistency failures - Key: CASSANDRA-5601 URL: https://issues.apache.org/jira/browse/CASSANDRA-5601 Project: Cassandra Issue Type: Improvement Reporter: Jeremiah Jordan Priority: Minor Received a suggestion that it might be nice to log consistency failures above DEBUG, so they could be tracked in server side logs more easily. For example: https://github.com/apache/cassandra/blob/cassandra-1.1/src/java/org/apache/cassandra/service/DatacenterReadCallback.java#L108 or https://github.com/apache/cassandra/blob/cassandra-1.1/src/java/org/apache/cassandra/service/ReadCallback.java#L232 Currently to get those messages you have to enable DEBUG for all of ReadCallback, so you get a log message from https://github.com/apache/cassandra/blob/cassandra-1.1/src/java/org/apache/cassandra/service/ReadCallback.java#L79 for every read, which is very spammy. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Comment Edited] (CASSANDRA-5601) Raise logging levels for consistency failures
[ https://issues.apache.org/jira/browse/CASSANDRA-5601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13669868#comment-13669868 ] Brandon Williams edited comment on CASSANDRA-5601 at 5/29/13 11:28 PM: --- The best way to do this is probably expose a counter in JMX and nodetool. It'd be per-coordinator, but it sounds a bit more advanced than scraping all the logs. was (Author: brandon.williams): The best to do this is probably expose a counter in JMX and nodetool. It'd be per-coordinator, but it sounds a bit more advanced than scraping all the logs. Raise logging levels for consistency failures - Key: CASSANDRA-5601 URL: https://issues.apache.org/jira/browse/CASSANDRA-5601 Project: Cassandra Issue Type: Improvement Reporter: Jeremiah Jordan Priority: Minor Received a suggestion that it might be nice to log consistency failures above DEBUG, so they could be tracked in server side logs more easily. For example: https://github.com/apache/cassandra/blob/cassandra-1.1/src/java/org/apache/cassandra/service/DatacenterReadCallback.java#L108 or https://github.com/apache/cassandra/blob/cassandra-1.1/src/java/org/apache/cassandra/service/ReadCallback.java#L232 Currently to get those messages you have to enable DEBUG for all of ReadCallback, so you get a log message from https://github.com/apache/cassandra/blob/cassandra-1.1/src/java/org/apache/cassandra/service/ReadCallback.java#L79 for every read, which is very spammy. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira