eclipse-ee4j / glassfish-shoal

Shoal
Other
5 stars 9 forks source link

sending a message that exceeds message limit causes exception in receiver #98

Closed glassfishrobot closed 14 years ago

glassfishrobot commented 14 years ago

Using branch SHOAL_1_1_ABSTRACTING_TRANSPORT using grizzly as the transport if you send a message with a payload that exceeds the maximum message size the receiver of the message throws the following execption:

[#|2010-01-22T09:23:52.274-0500|INFO|Shoal|ShoalLogger|_ThreadID=16;_ThreadName=com.sun.enterprise.ee.cms.impl.common.Router Thread;ClassName=SignalHandler;MethodName=run;|SignalHandler task named com.sun.enterprise.ee.cms.impl.common.Router Thread exiting|#]

Jan 22, 2010 9:23:52 AM com.sun.enterprise.mgmt.transport.grizzly.GrizzlyMessageProtocolParser hasNextMessage INFO: hasNextMessage() Thread:-WorkerThread(6),position:8192,nextMsgStartPos:0,expectingMoreData:false,hasMoreBytesToParse:false,error:false,msg size:9585,message: MessageImpl[v1:CLUSTER_MANAGER_MESSAGE:{}] java.lang.Exception: too large message at com.sun.enterprise.mgmt.transport.grizzly.GrizzlyMessageProtocolParser.hasNextMessage(GrizzlyMessageProtocolParser.java:127) at com.sun.grizzly.filter.ParserProtocolFilter.execute(ParserProtocolFilter.java:139) at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102) at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88) at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53) at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57) at com.sun.grizzly.NIOContext.execute(NIOContext.java:510) at com.sun.grizzly.SelectorHandlerRunner.handleSelectedKey(SelectorHandlerRunner.java:357) at com.sun.grizzly.SelectorHandlerRunner.handleSelectedKeys(SelectorHandlerRunner.java:257) at com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:194) at com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:129) at com.sun.grizzly.util.FixedThreadPool$BasicWorker.dowork(FixedThreadPool.java:379) at com.sun.grizzly.util.FixedThreadPool$BasicWorker.run(FixedThreadPool.java:360) at java.lang.Thread.run(Thread.java:637)

The code used to do this is: int size = 65000; byte[] bArray = new byte[size]; bArray[0] = 'a'; int k = 1; for (; k < size - 1; k++) { bArray[k] = 'X'; } bArray[k] = 'z'; try { gh.sendMessage("TestComponent", bArray); } catch (GMSException ge) { }

Environment

Operating System: All Platform: All

Affected Versions

[current]

glassfishrobot commented 6 years ago
glassfishrobot commented 14 years ago

@glassfishrobot Commented Reported by sdimilla

glassfishrobot commented 14 years ago

@glassfishrobot Commented @jfialli said: Throw MessageIOException when member calls sendMessage on a message that exceeds message limit.

glassfishrobot commented 14 years ago

@glassfishrobot Commented @jfialli said: Fixed checked into abstract transport branch. This bug was only in that branch.

glassfishrobot commented 7 years ago

@glassfishrobot Commented This issue was imported from java.net JIRA SHOAL-98

glassfishrobot commented 14 years ago

@glassfishrobot Commented Marked as fixed on Wednesday, June 23rd 2010, 4:11:06 am