You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Gary Dusbabek (JIRA)" <ji...@apache.org> on 2010/02/15 16:33:30 UTC
[jira] Created: (CASSANDRA-795) Streaming broken on windows
(FileStreamTask.CHUNK_SIZE is too big).
Streaming broken on windows (FileStreamTask.CHUNK_SIZE is too big).
-------------------------------------------------------------------
Key: CASSANDRA-795
URL: https://issues.apache.org/jira/browse/CASSANDRA-795
Project: Cassandra
Issue Type: Bug
Components: Core
Affects Versions: 0.6
Reporter: Gary Dusbabek
Assignee: Gary Dusbabek
Priority: Minor
Fix For: 0.6
Setting chunk size smaller addresses the problem. We should explore setting SO_SNDBUF higher to see if that fixes the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-795) Streaming broken on windows
(FileStreamTask.CHUNK_SIZE is too big).
Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Dusbabek updated CASSANDRA-795:
------------------------------------
Attachment: 0001-set-SO_SNDBUF-bigger.patch
> Streaming broken on windows (FileStreamTask.CHUNK_SIZE is too big).
> -------------------------------------------------------------------
>
> Key: CASSANDRA-795
> URL: https://issues.apache.org/jira/browse/CASSANDRA-795
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.6
> Reporter: Gary Dusbabek
> Assignee: Gary Dusbabek
> Priority: Minor
> Fix For: 0.6
>
> Attachments: 0001-set-SO_SNDBUF-bigger.patch
>
>
> Setting chunk size smaller addresses the problem. We should explore setting SO_SNDBUF higher to see if that fixes the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-795) Streaming broken on windows
(FileStreamTask.CHUNK_SIZE is too big).
Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Dusbabek updated CASSANDRA-795:
------------------------------------
Attachment: 0001-set-SO_SNDBUF-to-match-FileStreamTask.CHUNK_SIZE.patch
> Streaming broken on windows (FileStreamTask.CHUNK_SIZE is too big).
> -------------------------------------------------------------------
>
> Key: CASSANDRA-795
> URL: https://issues.apache.org/jira/browse/CASSANDRA-795
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.6
> Reporter: Gary Dusbabek
> Assignee: Gary Dusbabek
> Priority: Minor
> Fix For: 0.6
>
> Attachments: 0001-set-SO_SNDBUF-to-match-FileStreamTask.CHUNK_SIZE.patch
>
>
> Setting chunk size smaller addresses the problem. We should explore setting SO_SNDBUF higher to see if that fixes the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-795) Streaming broken on windows
(FileStreamTask.CHUNK_SIZE is too big).
Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834504#action_12834504 ]
Gary Dusbabek commented on CASSANDRA-795:
-----------------------------------------
I was able to duplicate this in windows XP by throwing roughly 200MB at a socket in short order. SO_RCVBUF and SO_SNDBUF both default to 8k and setting them up to 256k didn't address the problem. Since the default values were so low, I didn't think that setting them in the multi-MB range was going to prove fruitful.
Google wasn't very helpful explaining the underlying cause of the error (stems from winsock err code WSAENOBUFS) except for stating the obvious (there isn't enough allocated memory somewhere). Taking it all in, I get the sense that when you chunk data up to send over a socket, those chunks end up in kernel memory (paged), not user memory, and if you use too much of that (varies across windows versions), a WSAENOBUFS ensues.
Setting FileStreamTask.CHUNK_SIZE to 32MB solves the problem though. Unless there are any objections, I think we'll stick with that solution.
> Streaming broken on windows (FileStreamTask.CHUNK_SIZE is too big).
> -------------------------------------------------------------------
>
> Key: CASSANDRA-795
> URL: https://issues.apache.org/jira/browse/CASSANDRA-795
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Gary Dusbabek
> Assignee: Gary Dusbabek
> Priority: Minor
> Fix For: 0.5
>
> Attachments: 0001-set-SO_SNDBUF-bigger.patch, 0002-unit-test-for-streaming-a-big-file.patch
>
>
> Setting chunk size smaller addresses the problem. We should explore setting SO_SNDBUF higher to see if that fixes the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-795) Streaming broken on windows
(FileStreamTask.CHUNK_SIZE is too big).
Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Dusbabek updated CASSANDRA-795:
------------------------------------
Attachment: 0001-set-SO_SNDBUF-bigger.patch
0002-unit-test-for-streaming-a-big-file.patch
> Streaming broken on windows (FileStreamTask.CHUNK_SIZE is too big).
> -------------------------------------------------------------------
>
> Key: CASSANDRA-795
> URL: https://issues.apache.org/jira/browse/CASSANDRA-795
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.6
> Reporter: Gary Dusbabek
> Assignee: Gary Dusbabek
> Priority: Minor
> Fix For: 0.6
>
> Attachments: 0001-set-SO_SNDBUF-bigger.patch, 0002-unit-test-for-streaming-a-big-file.patch
>
>
> Setting chunk size smaller addresses the problem. We should explore setting SO_SNDBUF higher to see if that fixes the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-795) Streaming broken on windows
(FileStreamTask.CHUNK_SIZE is too big).
Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Dusbabek updated CASSANDRA-795:
------------------------------------
Attachment: (was: 0001-set-SO_SNDBUF-to-match-FileStreamTask.CHUNK_SIZE.patch)
> Streaming broken on windows (FileStreamTask.CHUNK_SIZE is too big).
> -------------------------------------------------------------------
>
> Key: CASSANDRA-795
> URL: https://issues.apache.org/jira/browse/CASSANDRA-795
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.6
> Reporter: Gary Dusbabek
> Assignee: Gary Dusbabek
> Priority: Minor
> Fix For: 0.6
>
>
> Setting chunk size smaller addresses the problem. We should explore setting SO_SNDBUF higher to see if that fixes the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-795) Streaming broken on windows
(FileStreamTask.CHUNK_SIZE is too big).
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834509#action_12834509 ]
Jonathan Ellis commented on CASSANDRA-795:
------------------------------------------
+1 set to 32MB
> Streaming broken on windows (FileStreamTask.CHUNK_SIZE is too big).
> -------------------------------------------------------------------
>
> Key: CASSANDRA-795
> URL: https://issues.apache.org/jira/browse/CASSANDRA-795
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Gary Dusbabek
> Assignee: Gary Dusbabek
> Priority: Minor
> Fix For: 0.5
>
> Attachments: 0001-set-SO_SNDBUF-bigger.patch, 0002-unit-test-for-streaming-a-big-file.patch
>
>
> Setting chunk size smaller addresses the problem. We should explore setting SO_SNDBUF higher to see if that fixes the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-795) Streaming broken on windows
(FileStreamTask.CHUNK_SIZE is too big).
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833852#action_12833852 ]
Jonathan Ellis commented on CASSANDRA-795:
------------------------------------------
If you add a unit test w/ a 64MB file I can test on windows. Writing a row w/ a single column of 64MB ought to do it.
> Streaming broken on windows (FileStreamTask.CHUNK_SIZE is too big).
> -------------------------------------------------------------------
>
> Key: CASSANDRA-795
> URL: https://issues.apache.org/jira/browse/CASSANDRA-795
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.6
> Reporter: Gary Dusbabek
> Assignee: Gary Dusbabek
> Priority: Minor
> Fix For: 0.6
>
> Attachments: 0001-set-SO_SNDBUF-to-match-FileStreamTask.CHUNK_SIZE.patch
>
>
> Setting chunk size smaller addresses the problem. We should explore setting SO_SNDBUF higher to see if that fixes the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-795) Streaming broken on windows
(FileStreamTask.CHUNK_SIZE is too big).
Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gary Dusbabek updated CASSANDRA-795:
------------------------------------
Attachment: (was: 0001-set-SO_SNDBUF-bigger.patch)
> Streaming broken on windows (FileStreamTask.CHUNK_SIZE is too big).
> -------------------------------------------------------------------
>
> Key: CASSANDRA-795
> URL: https://issues.apache.org/jira/browse/CASSANDRA-795
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.6
> Reporter: Gary Dusbabek
> Assignee: Gary Dusbabek
> Priority: Minor
> Fix For: 0.6
>
> Attachments: 0001-set-SO_SNDBUF-bigger.patch, 0002-unit-test-for-streaming-a-big-file.patch
>
>
> Setting chunk size smaller addresses the problem. We should explore setting SO_SNDBUF higher to see if that fixes the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-795) Streaming broken on windows
(FileStreamTask.CHUNK_SIZE is too big).
Posted by "Gary Dusbabek (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833934#action_12833934 ]
Gary Dusbabek commented on CASSANDRA-795:
-----------------------------------------
Test case attached (it takes a while to complete).
> Streaming broken on windows (FileStreamTask.CHUNK_SIZE is too big).
> -------------------------------------------------------------------
>
> Key: CASSANDRA-795
> URL: https://issues.apache.org/jira/browse/CASSANDRA-795
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.6
> Reporter: Gary Dusbabek
> Assignee: Gary Dusbabek
> Priority: Minor
> Fix For: 0.6
>
> Attachments: 0001-set-SO_SNDBUF-bigger.patch, 0002-unit-test-for-streaming-a-big-file.patch
>
>
> Setting chunk size smaller addresses the problem. We should explore setting SO_SNDBUF higher to see if that fixes the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (CASSANDRA-795) Streaming broken on windows
(FileStreamTask.CHUNK_SIZE is too big).
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-795?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-795:
-------------------------------------
Affects Version/s: (was: 0.6)
Fix Version/s: (was: 0.6)
0.5
> Streaming broken on windows (FileStreamTask.CHUNK_SIZE is too big).
> -------------------------------------------------------------------
>
> Key: CASSANDRA-795
> URL: https://issues.apache.org/jira/browse/CASSANDRA-795
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Reporter: Gary Dusbabek
> Assignee: Gary Dusbabek
> Priority: Minor
> Fix For: 0.5
>
> Attachments: 0001-set-SO_SNDBUF-bigger.patch, 0002-unit-test-for-streaming-a-big-file.patch
>
>
> Setting chunk size smaller addresses the problem. We should explore setting SO_SNDBUF higher to see if that fixes the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-795) Streaming broken on windows
(FileStreamTask.CHUNK_SIZE is too big).
Posted by "ruslan.usifov (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12834186#action_12834186 ]
ruslan.usifov commented on CASSANDRA-795:
-----------------------------------------
On WinXp this patch doesn't work. Help only reduce CHUNK_SIZE
java.lang.RuntimeException: java.io.IOException: Невозможно выполнить операцию на сокете, т.к. буфер слишком мал или очередь переполнена
at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:34)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.IOException: Невозможно выполнить операцию на сокете, т.к. буфер слишком мал или очередь переполнена
at sun.nio.ch.SocketDispatcher.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:33)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:104)
at sun.nio.ch.IOUtil.write(IOUtil.java:60)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334)
at sun.nio.ch.FileChannelImpl.transferToTrustedChannel(FileChannelImpl.java:449)
at sun.nio.ch.FileChannelImpl.transferTo(FileChannelImpl.java:520)
at org.apache.cassandra.net.FileStreamTask.stream(FileStreamTask.java:96)
at org.apache.cassandra.net.FileStreamTask.runMayThrow(FileStreamTask.java:64)
at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
... 3 more
ERROR [MESSAGE-STREAMING-POOL:1] 2010-02-16 15:21:34,234 CassandraDaemon.java (line 78) Fatal exception in thread Thread[MESSAGE-STREAMING-POOL:1,5,main]
java.lang.RuntimeException: java.io.IOException: Невозможно выполнить операцию на сокете, т.к. буфер слишком мал или очередь переполнена
at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:34)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.io.IOException: Невозможно выполнить операцию на сокете, т.к. буфер слишком мал или очередь переполнена
at sun.nio.ch.SocketDispatcher.write0(Native Method)
at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:33)
at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:104)
at sun.nio.ch.IOUtil.write(IOUtil.java:60)
at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:334)
at sun.nio.ch.FileChannelImpl.transferToTrustedChannel(FileChannelImpl.java:449)
at sun.nio.ch.FileChannelImpl.transferTo(FileChannelImpl.java:520)
at org.apache.cassandra.net.FileStreamTask.stream(FileStreamTask.java:96)
at org.apache.cassandra.net.FileStreamTask.runMayThrow(FileStreamTask.java:64)
at org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:30)
... 3 more
> Streaming broken on windows (FileStreamTask.CHUNK_SIZE is too big).
> -------------------------------------------------------------------
>
> Key: CASSANDRA-795
> URL: https://issues.apache.org/jira/browse/CASSANDRA-795
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.6
> Reporter: Gary Dusbabek
> Assignee: Gary Dusbabek
> Priority: Minor
> Fix For: 0.6
>
> Attachments: 0001-set-SO_SNDBUF-bigger.patch, 0002-unit-test-for-streaming-a-big-file.patch
>
>
> Setting chunk size smaller addresses the problem. We should explore setting SO_SNDBUF higher to see if that fixes the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-795) Streaming broken on windows
(FileStreamTask.CHUNK_SIZE is too big).
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833851#action_12833851 ]
Jonathan Ellis commented on CASSANDRA-795:
------------------------------------------
(Closed CASSANDRA-793 as dupe of this.)
> Streaming broken on windows (FileStreamTask.CHUNK_SIZE is too big).
> -------------------------------------------------------------------
>
> Key: CASSANDRA-795
> URL: https://issues.apache.org/jira/browse/CASSANDRA-795
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.6
> Reporter: Gary Dusbabek
> Assignee: Gary Dusbabek
> Priority: Minor
> Fix For: 0.6
>
> Attachments: 0001-set-SO_SNDBUF-to-match-FileStreamTask.CHUNK_SIZE.patch
>
>
> Setting chunk size smaller addresses the problem. We should explore setting SO_SNDBUF higher to see if that fixes the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (CASSANDRA-795) Streaming broken on windows
(FileStreamTask.CHUNK_SIZE is too big).
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-795?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12833947#action_12833947 ]
Jonathan Ellis commented on CASSANDRA-795:
------------------------------------------
it would probably be a lot faster if you put the bulk of the volume in a column value[] so it doesn't have to do a whole bunch of String serialization in the setup.
Test passes for me (64 bit windows 7) w/o patch 01 so I don't think I can usefully report on that. :)
> Streaming broken on windows (FileStreamTask.CHUNK_SIZE is too big).
> -------------------------------------------------------------------
>
> Key: CASSANDRA-795
> URL: https://issues.apache.org/jira/browse/CASSANDRA-795
> Project: Cassandra
> Issue Type: Bug
> Components: Core
> Affects Versions: 0.6
> Reporter: Gary Dusbabek
> Assignee: Gary Dusbabek
> Priority: Minor
> Fix For: 0.6
>
> Attachments: 0001-set-SO_SNDBUF-bigger.patch, 0002-unit-test-for-streaming-a-big-file.patch
>
>
> Setting chunk size smaller addresses the problem. We should explore setting SO_SNDBUF higher to see if that fixes the problem.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.