You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Jan Willem (JIRA)" <ji...@apache.org> on 2008/11/26 09:07:08 UTC
[jira] Created: (AMQNET-128) Writing large string to message queue
object throws IOException("Cannot marshall string longer than:
"+short.MaxValue+" characters, supplied steing was: "+text.Length+"
characters")
Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: AMQNET-128
URL: https://issues.apache.org/activemq/browse/AMQNET-128
Project: ActiveMQ .Net
Issue Type: Bug
Components: ActiveMQ Client
Reporter: Jan Willem
Assignee: Jim Gomes
Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Reopened: (AMQNET-128) Writing large string to message queue
object throws IOException("Cannot marshall string longer than:
"+short.MaxValue+" characters, supplied steing was: "+text.Length+"
characters")
Posted by "Yev Bronshteyn (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQNET-128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Yev Bronshteyn reopened AMQNET-128:
-----------------------------------
Regression: [Broken Unit Test]
All unit tests fail in ResponseCorrelator::Request() with the exception:
System.ArgumentOutOfRangeException : Index and length must refer to a location within the string.
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQNET-128
> URL: https://issues.apache.org/activemq/browse/AMQNET-128
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Affects Versions: 1.0, 1.1
> Reporter: Jan Willem
> Assignee: Jim Gomes
> Fix For: 1.1
>
> Attachments: OpenWireBinaryWriter.cs, OpenWireBinaryWriter.patch.patch
>
>
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Reopened: (AMQNET-128) Writing large string to message queue
object throws IOException("Cannot marshall string longer than:
"+short.MaxValue+" characters, supplied steing was: "+text.Length+"
characters")
Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQNET-128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Timothy Bish reopened AMQNET-128:
---------------------------------
Regression: (was: [Broken Unit Test])
After having spent some time review the OpenWireReader / Writer code and the Text Message code in the .Net client I think that this issue hasn't fully addressed the problem here. The .Net code doesn't correctly marshal out the Strings to the modified UTF-8 encoding that Java uses for the TextMessage case and the OpenWireBinaryReader and Writer limit the size of a String that can be read or written to the size of a short which is not correct.
Openwire strings are marshalled with a string type header that indicates whether the string is a Big String type, i.e. encoded with an Integer size prefix or just a String type which is encoded with a Short size prefix.
All strings encoded and decoded from the .Net client should be treated as if they are in the same Modified UTF-8 format that the Java DataInputStream and DataOutputStream deal with, that way the strings are able to be read by both the Java and C++ clients and the .Net client can read strings written from a Java or C++ client.
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQNET-128
> URL: https://issues.apache.org/activemq/browse/AMQNET-128
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Affects Versions: 1.0, 1.1
> Reporter: Jan Willem
> Assignee: Timothy Bish
> Fix For: 1.1
>
> Attachments: OpenWireBinaryWriter.cs, OpenWireBinaryWriter.patch.patch, UnitTestRegressionFix.patch
>
>
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (AMQNET-128) Writing large string to message queue
object throws IOException("Cannot marshall string longer than:
"+short.MaxValue+" characters, supplied steing was: "+text.Length+"
characters")
Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQNET-128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Timothy Bish resolved AMQNET-128.
---------------------------------
Resolution: Fixed
Finished my testing and changes appear to be working correctly.
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQNET-128
> URL: https://issues.apache.org/activemq/browse/AMQNET-128
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Affects Versions: 1.0, 1.1
> Reporter: Jan Willem
> Assignee: Timothy Bish
> Fix For: 1.1
>
> Attachments: OpenWireBinaryWriter.cs, OpenWireBinaryWriter.patch.patch, UnitTestRegressionFix.patch
>
>
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (AMQNET-128) Writing large string to message queue
object throws IOException("Cannot marshall string longer than:
"+short.MaxValue+" characters, supplied steing was: "+text.Length+"
characters")
Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQNET-128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Timothy Bish resolved AMQNET-128.
---------------------------------
Resolution: Fixed
Patch applied in trunk, tests that passed before are now passing again.
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQNET-128
> URL: https://issues.apache.org/activemq/browse/AMQNET-128
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Affects Versions: 1.0, 1.1
> Reporter: Jan Willem
> Assignee: Timothy Bish
> Fix For: 1.1
>
> Attachments: OpenWireBinaryWriter.cs, OpenWireBinaryWriter.patch.patch, UnitTestRegressionFix.patch
>
>
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (AMQNET-128) Writing large string to message queue
object throws IOException("Cannot marshall string longer than:
"+short.MaxValue+" characters, supplied steing was: "+text.Length+"
characters")
Posted by "Jan Willem (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQNET-128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jan Willem updated AMQNET-128:
------------------------------
Attachment: OpenWireBinaryWriter.patch.patch
OpenWireBinaryWriter.cs
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQNET-128
> URL: https://issues.apache.org/activemq/browse/AMQNET-128
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Reporter: Jan Willem
> Assignee: Jim Gomes
> Attachments: OpenWireBinaryWriter.cs, OpenWireBinaryWriter.patch.patch
>
>
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (AMQNET-128) Writing large string to message queue
object throws IOException("Cannot marshall string longer than:
"+short.MaxValue+" characters, supplied steing was: "+text.Length+"
characters")
Posted by "Jim Gomes (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQNET-128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jim Gomes resolved AMQNET-128.
------------------------------
Resolution: Fixed
I applied the patch submitted by Jan, but made a few minor changes to it. I removed the generic list enumeration to increase the compatibility with .NET 1.1. I like using generics, but chose to forgo it is this instance to make the code cleaner and not force a bunch of compiler directives to be added.
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQNET-128
> URL: https://issues.apache.org/activemq/browse/AMQNET-128
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Affects Versions: 1.0, 1.1
> Reporter: Jan Willem
> Assignee: Jim Gomes
> Fix For: 1.1
>
> Attachments: OpenWireBinaryWriter.cs, OpenWireBinaryWriter.patch.patch
>
>
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (AMQNET-128) Writing large string to message
queue object throws IOException("Cannot marshall string longer than:
"+short.MaxValue+" characters, supplied steing was: "+text.Length+"
characters")
Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQNET-128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=51342#action_51342 ]
Timothy Bish commented on AMQNET-128:
-------------------------------------
I've rewritten the code in the OpenWireBinaryReader / Writer to allow for output of string data in Modified UTF-8 using either the standard java short size prefix or the enhanced Openwire int size prefix for larger strings. The PrimitiveMap and ActiveMQTextMessage have been altered to use the correct methods for writing the strings.
In the PrimitiveMap:
* Map Keys are always written with the short size prefix
* Map Values that are strings are written either with the short or int prefix based on size > 8191, this matches the java code. String with the int size prefix are sent as BIG_STRING_TYPE.
The TextMessage always uses the int size prefix.
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQNET-128
> URL: https://issues.apache.org/activemq/browse/AMQNET-128
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Affects Versions: 1.0, 1.1
> Reporter: Jan Willem
> Assignee: Timothy Bish
> Fix For: 1.1
>
> Attachments: OpenWireBinaryWriter.cs, OpenWireBinaryWriter.patch.patch, UnitTestRegressionFix.patch
>
>
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (AMQNET-128) Writing large string to message queue
object throws IOException("Cannot marshall string longer than:
"+short.MaxValue+" characters, supplied steing was: "+text.Length+"
characters")
Posted by "Daniel Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQNET-128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Ellis updated AMQNET-128:
--------------------------------
Attachment: UnitTestRegressionFix.patch
Fix for the unit test regression which was introduced in revision 745205
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQNET-128
> URL: https://issues.apache.org/activemq/browse/AMQNET-128
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Affects Versions: 1.0, 1.1
> Reporter: Jan Willem
> Assignee: Jim Gomes
> Fix For: 1.1
>
> Attachments: OpenWireBinaryWriter.cs, OpenWireBinaryWriter.patch.patch, UnitTestRegressionFix.patch
>
>
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Issue Comment Edited: (AMQNET-128) Writing large string to
message queue object throws IOException("Cannot marshall string longer
than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+"
characters")
Posted by "Daniel Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQNET-128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=49942#action_49942 ]
danellisuk edited comment on AMQNET-128 at 2/24/09 5:25 AM:
--------------------------------------------------------------
Added a patch to fix the unit test regression which was introduced in revision 745205
was (Author: danellisuk):
Added a patch to fix for the unit test regression which was introduced in revision 745205
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQNET-128
> URL: https://issues.apache.org/activemq/browse/AMQNET-128
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Affects Versions: 1.0, 1.1
> Reporter: Jan Willem
> Assignee: Jim Gomes
> Fix For: 1.1
>
> Attachments: OpenWireBinaryWriter.cs, OpenWireBinaryWriter.patch.patch, UnitTestRegressionFix.patch
>
>
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Issue Comment Edited: (AMQNET-128) Writing large string to
message queue object throws IOException("Cannot marshall string longer
than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+"
characters")
Posted by "Daniel Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQNET-128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=49942#action_49942 ]
danellisuk edited comment on AMQNET-128 at 2/24/09 5:25 AM:
--------------------------------------------------------------
Added a patch to fix for the unit test regression which was introduced in revision 745205
was (Author: danellisuk):
Fix for the unit test regression which was introduced in revision 745205
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQNET-128
> URL: https://issues.apache.org/activemq/browse/AMQNET-128
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Affects Versions: 1.0, 1.1
> Reporter: Jan Willem
> Assignee: Jim Gomes
> Fix For: 1.1
>
> Attachments: OpenWireBinaryWriter.cs, OpenWireBinaryWriter.patch.patch, UnitTestRegressionFix.patch
>
>
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (AMQNET-128) Writing large string to message
queue object throws IOException("Cannot marshall string longer than:
"+short.MaxValue+" characters, supplied steing was: "+text.Length+"
characters")
Posted by "Ranjith Venkatesh (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQNET-128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=49742#action_49742 ]
Ranjith Venkatesh commented on AMQNET-128:
------------------------------------------
Is there a release which includes this Bug Fix?
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQNET-128
> URL: https://issues.apache.org/activemq/browse/AMQNET-128
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Affects Versions: 1.0, 1.1
> Reporter: Jan Willem
> Assignee: Jim Gomes
> Fix For: 1.1
>
> Attachments: OpenWireBinaryWriter.cs, OpenWireBinaryWriter.patch.patch
>
>
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (AMQNET-128) Writing large string to message queue
object throws IOException("Cannot marshall string longer than:
"+short.MaxValue+" characters, supplied steing was: "+text.Length+"
characters")
Posted by "Timothy Bish (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQNET-128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Timothy Bish reassigned AMQNET-128:
-----------------------------------
Assignee: Timothy Bish (was: Jim Gomes)
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQNET-128
> URL: https://issues.apache.org/activemq/browse/AMQNET-128
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Affects Versions: 1.0, 1.1
> Reporter: Jan Willem
> Assignee: Timothy Bish
> Fix For: 1.1
>
> Attachments: OpenWireBinaryWriter.cs, OpenWireBinaryWriter.patch.patch, UnitTestRegressionFix.patch
>
>
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (AMQNET-128) Writing large string to message queue
object throws IOException("Cannot marshall string longer than:
"+short.MaxValue+" characters, supplied steing was: "+text.Length+"
characters")
Posted by "Jim Gomes (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/activemq/browse/AMQNET-128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jim Gomes updated AMQNET-128:
-----------------------------
Affects Version/s: 1.1
1.0
Fix Version/s: 1.1
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: AMQNET-128
> URL: https://issues.apache.org/activemq/browse/AMQNET-128
> Project: ActiveMQ .Net
> Issue Type: Bug
> Components: ActiveMQ Client
> Affects Versions: 1.0, 1.1
> Reporter: Jan Willem
> Assignee: Jim Gomes
> Fix For: 1.1
>
> Attachments: OpenWireBinaryWriter.cs, OpenWireBinaryWriter.patch.patch
>
>
> Writing large string to message queue object throws IOException("Cannot marshall string longer than: "+short.MaxValue+" characters, supplied steing was: "+text.Length+" characters")
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.