cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CASSANDRA-1434) ColumnFamilyOutputFormat performs blocking writes for large batches
Date Sun, 19 Sep 2010 18:18:34 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-1434?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12912270#action_12912270
] 

Jonathan Ellis commented on CASSANDRA-1434:
-------------------------------------------

bq. ArrayBlockingQueue.isEmpty will kill client threads if their queue is ever empty

it's while (run || isEmpty).  am i missing something?

bq. what happens when an interrupt in received during a mutation

nothing. InterruptedException is only thrown at well-defined points (one of the few times
checked exceptions have done me a favor), and blocking socket send is not one of them.  the
JDK uses this pattern to shut down threadpoolexecutors.

bq. I don't like the idea of indefinite retries

the idea is it tries each endpoint, then throws if they all fail. (if !iter.hasnext() then
throw)

bq. batchSize == 1 does not seem like a good value to hardcode

as described above, batching > 1 is a misfeature that has been demonstrated to cause badness
in practice.

> ColumnFamilyOutputFormat performs blocking writes for large batches
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-1434
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1434
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Hadoop
>            Reporter: Stu Hood
>            Assignee: Stu Hood
>             Fix For: 0.7 beta 2
>
>         Attachments: 0001-Switch-away-from-Multimap-and-fix-regression-introdu.patch,
0002-Improve-concurrency-and-add-basic-retries-by-attempt.patch, 0003-Switch-RingCache-back-to-multimap.patch,
0004-Replace-Executor-with-map-of-threads.patch, 1434-v3.txt
>
>
> By default, ColumnFamilyOutputFormat batches {{mapreduce.output.columnfamilyoutputformat.batch.threshold}}
or {{Long.MAX_VALUE}} mutations, and then performs a blocking write.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message