Archived

This forum has been archived. Please start a new discussion on GitHub.

IceStorm and MessageSizeMax

Hello!

I am working on a program that submits data to IceStorm. I started to encounter IceMemoryLimitException trouble. So, I changed the Ice.MessageSizeMax property to 2048. When I rerun the program, however, I now get a ConnectionLostException!

It doesn't seem to matter if I change MessageSizeMax on both client and server.

What am I missing?

Thank you,

Comments

  • benoit
    benoit Rennes, France
    Hi,

    We would need a little more information to help you. Where do you get the Ice::ConnectionLostException? Is it from the IceStorm service, publiser or subscriber? Where did you set Ice.MessageSizeMax, on IceStorm?

    In theory, you should also set it on the subscriber if you set it on IceStorm. Otherwise, the subscriber will reject the request whose size is over Ice.MessageSizeMax and close the connection (which would result in an Ice::ConnectionLostException on IceStorm).

    Also, what QoS is your subscriber using to subscribe to IceStorm? Are you using Ice 3.2? Please also specify the OS/platform you're using.

    Cheers,
    Benoit.
  • Hi Benoit,

    I'm using Ice 3.2b on OpenSuSE 10.2, QoS is "batch". The program catching the exception is the publisher, and Ice.MessageSizeMax is set in the configuration files for the publisher, subscriber, IceStorm, and IceBox.

    Thank you,
  • matthew
    matthew NL, Canada
    It sounds like you haven't set the message size max correctly on IceStorm. Without setting this property you would get a MemoryLimitException when publishing the message -- this exception is generated locally (by the Ice runtime in the publisher itself). After you set the message size max on the publisher then the message can be sent to IceStorm, however, if IceStorm detects a memory limit exception then it will drop the connection to the publisher -- just as you are reporting.

    What exactly is your configuration for IceStorm & IceBox?
  • matthew wrote: »
    After you set the message size max on the publisher then the message can be sent to IceStorm, however, if IceStorm detects a memory limit exception then it will drop the connection to the publisher -- just as you are reporting.

    Ah, okay, that does make sense. But, I think I may have just figured out the issue-- although I'm sending the information out in batches, the data I'm working with just occasionally seems to simply get /much/ larger than I'd thought-- I adjusted the limit again and it's now working fine! I can't believe I didn't try that earlier, but I guess that's what I get for trying to cut back a bit on the coffee. ;-P

    Thanks for your help, everyone!