[jira] [Updated] (CASSANDRA-6764) Using Batch commitlog_sync is slow and doesn't actually batch writes

2014-03-31 Thread Benedict (JIRA)

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

Benedict updated CASSANDRA-6764:


Attachment: 6764.fix2.txt

Take two

> Using Batch commitlog_sync is slow and doesn't actually batch writes
> 
>
> Key: CASSANDRA-6764
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6764
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: John Carrino
>Assignee: John Carrino
> Fix For: 2.1 beta2
>
> Attachments: 6764.fix.txt, 6764.fix2.txt, cassandra_6764_v2.patch, 
> cassandra_6764_v3.patch
>
>
> The assumption behind batch commit mode is that the client does it's own 
> batching and wants to wait until the write is durable before returning.  The 
> problem is that the queue that cassandra uses under the covers only allows 
> for a single ROW (RowMutation) per thread (concurrent_writes).  This means 
> that commitlog_sync_batch_window_in_ms should really be called sleep_between 
> each_concurrent_writes_rows_in_ms.
> I assume the reason this slipped by for so long is that no one uses batch 
> mode, probably because people say "it's slow".  We need durability so this 
> isn't an option.
> However it doesn't need to be this slow.
> Also, if you write a row that is larger than the commit log size it silently 
> (warn) fails to put it in the commit log.  This is not ideal for batch mode.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-6764) Using Batch commitlog_sync is slow and doesn't actually batch writes

2014-03-28 Thread Benedict (JIRA)

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

Benedict updated CASSANDRA-6764:


Attachment: 6764.fix.txt

This patch broke our unit tests: simple fix (attached) is to simply assert that 
we have the correct type of exception thrown, rather than the exception being 
taken as test failure.



> Using Batch commitlog_sync is slow and doesn't actually batch writes
> 
>
> Key: CASSANDRA-6764
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6764
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: John Carrino
>Assignee: John Carrino
> Fix For: 2.1 beta2
>
> Attachments: 6764.fix.txt, cassandra_6764_v2.patch, 
> cassandra_6764_v3.patch
>
>
> The assumption behind batch commit mode is that the client does it's own 
> batching and wants to wait until the write is durable before returning.  The 
> problem is that the queue that cassandra uses under the covers only allows 
> for a single ROW (RowMutation) per thread (concurrent_writes).  This means 
> that commitlog_sync_batch_window_in_ms should really be called sleep_between 
> each_concurrent_writes_rows_in_ms.
> I assume the reason this slipped by for so long is that no one uses batch 
> mode, probably because people say "it's slow".  We need durability so this 
> isn't an option.
> However it doesn't need to be this slow.
> Also, if you write a row that is larger than the commit log size it silently 
> (warn) fails to put it in the commit log.  This is not ideal for batch mode.



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[jira] [Updated] (CASSANDRA-6764) Using Batch commitlog_sync is slow and doesn't actually batch writes

2014-02-25 Thread John Carrino (JIRA)

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

John Carrino updated CASSANDRA-6764:


Attachment: cassandra_6764_v3.patch

> Using Batch commitlog_sync is slow and doesn't actually batch writes
> 
>
> Key: CASSANDRA-6764
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6764
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: John Carrino
> Fix For: 1.2.16
>
> Attachments: cassandra_6764_v2.patch, cassandra_6764_v3.patch
>
>
> The assumption behind batch commit mode is that the client does it's own 
> batching and wants to wait until the write is durable before returning.  The 
> problem is that the queue that cassandra uses under the covers only allows 
> for a single ROW (RowMutation) per thread (concurrent_writes).  This means 
> that commitlog_sync_batch_window_in_ms should really be called sleep_between 
> each_concurrent_writes_rows_in_ms.
> I assume the reason this slipped by for so long is that no one uses batch 
> mode, probably because people say "it's slow".  We need durability so this 
> isn't an option.
> However it doesn't need to be this slow.
> Also, if you write a row that is larger than the commit log size it silently 
> (warn) fails to put it in the commit log.  This is not ideal for batch mode.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (CASSANDRA-6764) Using Batch commitlog_sync is slow and doesn't actually batch writes

2014-02-24 Thread John Carrino (JIRA)

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

John Carrino updated CASSANDRA-6764:


Attachment: cassandra_6764_v2.patch

> Using Batch commitlog_sync is slow and doesn't actually batch writes
> 
>
> Key: CASSANDRA-6764
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6764
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: John Carrino
> Fix For: 1.2.16
>
> Attachments: cassandra_6764_v2.patch
>
>
> The assumption behind batch commit mode is that the client does it's own 
> batching and wants to wait until the write is durable before returning.  The 
> problem is that the queue that cassandra uses under the covers only allows 
> for a single ROW (RowMutation) per thread (concurrent_writes).  This means 
> that commitlog_sync_batch_window_in_ms should really be called sleep_between 
> each_concurrent_writes_rows_in_ms.
> I assume the reason this slipped by for so long is that no one uses batch 
> mode, probably because people say "it's slow".  We need durability so this 
> isn't an option.
> However it doesn't need to be this slow.
> Also, if you write a row that is larger than the commit log size it silently 
> (warn) fails to put it in the commit log.  This is not ideal for batch mode.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (CASSANDRA-6764) Using Batch commitlog_sync is slow and doesn't actually batch writes

2014-02-24 Thread John Carrino (JIRA)

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

John Carrino updated CASSANDRA-6764:


Attachment: (was: cassandra_6764_v1.patch)

> Using Batch commitlog_sync is slow and doesn't actually batch writes
> 
>
> Key: CASSANDRA-6764
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6764
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: John Carrino
> Fix For: 1.2.16
>
> Attachments: cassandra_6764_v2.patch
>
>
> The assumption behind batch commit mode is that the client does it's own 
> batching and wants to wait until the write is durable before returning.  The 
> problem is that the queue that cassandra uses under the covers only allows 
> for a single ROW (RowMutation) per thread (concurrent_writes).  This means 
> that commitlog_sync_batch_window_in_ms should really be called sleep_between 
> each_concurrent_writes_rows_in_ms.
> I assume the reason this slipped by for so long is that no one uses batch 
> mode, probably because people say "it's slow".  We need durability so this 
> isn't an option.
> However it doesn't need to be this slow.
> Also, if you write a row that is larger than the commit log size it silently 
> (warn) fails to put it in the commit log.  This is not ideal for batch mode.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (CASSANDRA-6764) Using Batch commitlog_sync is slow and doesn't actually batch writes

2014-02-24 Thread John Carrino (JIRA)

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

John Carrino updated CASSANDRA-6764:


Attachment: cassandra_6764_v1.patch

> Using Batch commitlog_sync is slow and doesn't actually batch writes
> 
>
> Key: CASSANDRA-6764
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6764
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: John Carrino
> Attachments: cassandra_6764_v1.patch
>
>
> The assumption behind batch commit mode is that the client does it's own 
> batching and wants to wait until the write is durable before returning.  The 
> problem is that the queue that cassandra uses under the covers only allows 
> for a single ROW (RowMutation) per thread (concurrent_writes).  This means 
> that commitlog_sync_batch_window_in_ms should really be called sleep_between 
> each_concurrent_writes_rows_in_ms.
> I assume the reason this slipped by for so long is that no one uses batch 
> mode, probably because people say "it's slow".  We need durability so this 
> isn't an option.
> However it doesn't need to be this slow.
> Also, if you write a row that is larger than the commit log size it silently 
> (warn) fails to put it in the commit log.  This is not ideal for batch mode.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)