You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by bu...@apache.org on 2014/02/25 14:17:26 UTC

[Bug 56187] New: Websocket text message limit does not change from default 8192.

https://issues.apache.org/bugzilla/show_bug.cgi?id=56187

            Bug ID: 56187
           Summary: Websocket text message limit does not change from
                    default 8192.
           Product: Tomcat 7
           Version: 7.0.52
          Hardware: PC
            Status: NEW
          Severity: blocker
          Priority: P2
         Component: Catalina
          Assignee: dev@tomcat.apache.org
          Reporter: 05.shailesh@gmail.com

Hi,

I tried to increase the text message buffer from default value of 8192 by
adding context parameter in web.xml of my application as follows,

<context-param>
       <param-name>org.apache.tomcat.websocket.textBufferSize</param-name>
       <param-value>32768</param-value>
</context-param>

<context-param>
       <param-name>org.apache.tomcat.websocket.binaryBufferSize</param-name>
       <param-value>32768</param-value>
</context-param>

but even after that it does not change and payload of size greater than 8192
bytes is cut and sent in separate frame. 

I am using Atmosphere library 1.0.18 for server event push but because of the
tomcat max. buffer size, it is not able to send large payload, causing to go
away from websocket and use long polling.


Thanks,
Shailesh

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 56187] Websocket text buffer maximum limit does not change from default 8192.

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56187

--- Comment #3 from Shailesh <05...@gmail.com> ---
Atmosphere 1.0.18 uses legacy protocol. 

I tried to debug the issue reached to org.apache.catalina.websocket.WsOutbound. 

public static final int DEFAULT_BUFFER_SIZE = 8192;

public WsOutbound(UpgradeOutbound upgradeOutbound,
            StreamInbound streamInbound) {
        this(upgradeOutbound, streamInbound, DEFAULT_BUFFER_SIZE,
                DEFAULT_BUFFER_SIZE);
    }

The CharBuffer created with the capacity of DEFAULT_BUFFER_SIZE which is 8192. 

There is no way to change the buffer size. 

I think max. buffer size should be configurable so that it can be set as per
the requirement.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 56187] Websocket text buffer maximum limit does not change from default 8192.

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56187

Shailesh <05...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Websocket text message      |Websocket text buffer
                   |limit does not change from  |maximum limit does not
                   |default 8192.               |change from default 8192.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 56187] Websocket text buffer maximum limit does not change from default 8192.

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56187

Mark Thomas <ma...@apache.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |INVALID

--- Comment #4 from Mark Thomas <ma...@apache.org> ---
Applications using the old API (in this case Atmosphere) have an API available
to change the buffer size if they wish.

Applications have an API they can use to output binary messages that bypasses
the buffer entirely.

The buffers are always used when writing text messages and may be used when
writing binary messages.

Tomcat imposes no limits on the size of a message that is written. The buffer
merely controls the frame size when writing large text messages.

As per the WebSocket specification, frames have no semantic meaning (ignoring
extensions which complicate things slightly). Proxies may split frames or merge
frames as they see fit. Therefore, I see no reason for Atmosphere to object to
large text messages being split into multiple frames.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 56187] Websocket text buffer maximum limit does not change from default 8192.

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56187

--- Comment #2 from Konstantin Kolinko <kn...@gmail.com> ---
There are 2 different web socket protocol implementations available in Tomcat
7:
1) JSR-356 (a new one)
2) legacy

The settings that you changed are used by the JSR-356 implementation only.

I do not really know what websocket implementation Atmosphere 1.0.18 is using.
It is up to you to find out. 

As Bugzilla is not a support forum,
ask on the users mailing list for a help to debug your issue.
http://tomcat.apache.org/bugreport.html#Bugzilla_is_not_a_support_forum

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


[Bug 56187] Websocket text message limit does not change from default 8192.

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56187

Shailesh <05...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |APIBug
                 OS|                            |All

--- Comment #1 from Shailesh <05...@gmail.com> ---
The issue is reproduceable  on Linux also.

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org