Archived

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

IceStorm: QoS questions

Hi,

I am getting an ::IceStorm::BadQoS exception when I specify "ordered" reliability and use anything other than twoway invocations. That is as documented and expected.

The requirements for using retryCount are less clear, however. The code below, from your clock examples, suggests that retryCount also requires twoway. In point of fact I observe no failure if I specify a retryCount and use any invocation mode, e.g. oneway or even datagram (!). The docs only mention that retryCount requires a fixed endpoint and a stable identity. (p. 1601 last paragraph). If qos ["retryCount"] requires twoway, why not throw a BadQoS as you do with qos ["reliability"] when not using twoway?

Can you clarify?
if(!retryCount.empty())
    {
        if(option == None)
        {
            option = Twoway;
        }
        else if(option != Twoway && option != Ordered)
        {
            cerr << argv[0] << ": retryCount requires a twoway proxy" << endl;
            return EXIT_FAILURE;
        }
    }

Finally, some documentation corrections on p 1595 with regard to icestormadmin.
By default, icestormadmin uses the topic manager specified by the setting of the IceStorm.TopicManager.Default property,

I believe that should read "IceStormAdmin.TopicManager.Default" and similarly in the next paragraph:
If you are using multiple topic managers, you can specify the proxies by setting the property IceStorm.TopicManager.name for each topic manager.

should read "IceStormAdmin.TopicManager.name" --

Cheers,

Phil

Comments

  • matthew
    matthew NL, Canada
    The retry count only comes into effect once IceStorm receives an error. For oneway, connection failures are reliably detected, and therefore retry count will come into use. For datagram, you can also get errors (such as local socket errors), so retry count has utility here also.

    I can't think of a reason why retry count is enabled only for twoway proxies in the demo. Most likely this will be changed for the next release.