[jira] [Commented] (CASSANDRA-5544) Hadoop jobs assigns only one mapper in task

2013-05-29 Thread Shamim Ahmed (JIRA)

[ 
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

2013-05-29 Thread Sylvain Lebresne (JIRA)

[ 
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

2013-05-29 Thread Sylvain Lebresne (JIRA)

 [ 
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)

2013-05-29 Thread JIRA

 [ 
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

2013-05-29 Thread Cyril Scetbon (JIRA)

[ 
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

2013-05-29 Thread Vijay (JIRA)

 [ 
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

2013-05-29 Thread JIRA
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

2013-05-29 Thread JIRA

 [ 
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

2013-05-29 Thread Jason Brown (JIRA)

 [ 
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

2013-05-29 Thread Jason Brown (JIRA)

[ 
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

2013-05-29 Thread Jason Brown (JIRA)

[ 
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

2013-05-29 Thread Jason Brown (JIRA)

[ 
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

2013-05-29 Thread Anne Sullivan (JIRA)
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

2013-05-29 Thread Aleksey Yeschenko (JIRA)

[ 
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

2013-05-29 Thread Cyril Scetbon (JIRA)

[ 
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

2013-05-29 Thread Jonathan Ellis (JIRA)

[ 
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

2013-05-29 Thread Aleksey Yeschenko (JIRA)

[ 
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

2013-05-29 Thread Jeremy Hanna (JIRA)

[ 
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

2013-05-29 Thread Aleksey Yeschenko (JIRA)

[ 
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

2013-05-29 Thread Yuki Morishita (JIRA)

 [ 
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

2013-05-29 Thread Aleksey Yeschenko (JIRA)

[ 
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

2013-05-29 Thread Ravi Basawa (JIRA)
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

2013-05-29 Thread Brandon Williams (JIRA)

 [ 
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

2013-05-29 Thread Jason Brown (JIRA)

 [ 
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

2013-05-29 Thread Aleksey Yeschenko (JIRA)

[ 
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)

2013-05-29 Thread jasobrown
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

2013-05-29 Thread Jason Brown (JIRA)

[ 
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

2013-05-29 Thread Nick Bailey (JIRA)

 [ 
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

2013-05-29 Thread jasobrown
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

2013-05-29 Thread yukim
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

2013-05-29 Thread Jonathan Ellis (JIRA)

[ 
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

2013-05-29 Thread Jeremiah Jordan (JIRA)

[ 
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

2013-05-29 Thread Alex Liu (JIRA)

 [ 
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

2013-05-29 Thread Alex Liu (JIRA)

[ 
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

2013-05-29 Thread JIRA

[ 
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

2013-05-29 Thread Jonathan Ellis (JIRA)

[ 
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

2013-05-29 Thread brandonwilliams
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

2013-05-29 Thread brandonwilliams
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

2013-05-29 Thread brandonwilliams
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)

2013-05-29 Thread aleksey
 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

2013-05-29 Thread aleksey
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

2013-05-29 Thread Yuki Morishita (JIRA)

[ 
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

2013-05-29 Thread aleksey
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

2013-05-29 Thread aleksey
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)

2013-05-29 Thread aleksey
 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

2013-05-29 Thread Phil Pirozhkov (JIRA)

[ 
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

2013-05-29 Thread Yuki Morishita (JIRA)

[ 
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

2013-05-29 Thread Jonathan Ellis (JIRA)

[ 
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

2013-05-29 Thread jbellis
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

2013-05-29 Thread jbellis
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

2013-05-29 Thread jbellis
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

2013-05-29 Thread Marcus Eriksson (JIRA)
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

2013-05-29 Thread Jonathan Ellis (JIRA)

[ 
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

2013-05-29 Thread Brandon Williams (JIRA)

[ 
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

2013-05-29 Thread Jonathan Ellis (JIRA)

 [ 
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

2013-05-29 Thread jbellis
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

2013-05-29 Thread Dave Brosius (JIRA)

[ 
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

2013-05-29 Thread Jonathan Ellis (JIRA)

[ 
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

2013-05-29 Thread Dave Brosius (JIRA)

[ 
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

2013-05-29 Thread Jeremiah Jordan (JIRA)
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

2013-05-29 Thread Jeremiah Jordan (JIRA)

 [ 
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

2013-05-29 Thread Brandon Williams (JIRA)

[ 
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

2013-05-29 Thread Brandon Williams (JIRA)

[ 
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