1 Reply Latest reply on Sep 28, 2012 1:55 AM by Todd Little-Oracle

    Tuxedo with MSSQ - how to call each server? Architectural advise required

      We would like to force servers to disconnect from Database.
      We’re using Tuxedo 8.1 on HP Itanium 32bit.
      We implemented this functionality using Tuxedo events.
      It works well, but since we’re using MSSQ it duplicates services for each instance in every queue. The problem is that we’re reaching maximum of MAXSERVICES (32k).

      Configuration example:
      server1 SRVID=20 MIN=2 MAX=3
      server1 subscribes service “ti_event<SRVID>” in the code to the event called “TI_DISCONNECT_DB” (SRVID is dynamically allocated during runtime)

      After loading ubbconfig and booting Tuxedo we observe that each server1 instance got defined 2 ti_event services with indexes as follows:
      ti_event20 server1 SRVID=20
      ti_event21 server1 SRVID=20
      ti_event20 server1 SRVID=21
      ti_event21 server1 SRVID=21

      Just to elaborate a bit more: for a queue with MIN=10, Tuxedo will introduce 100 new “services” -> 10 per instance.
      Using example above, since each instance is able to handle two events (ti_event20 and ti_event21), it is possible that one of them will take both posted events and no events will reach the other instnace.
      This is another problem we're facing and need advise here.

      We’re looking for a way to reach every instance without overloading MAXSERVICES or other configuration parameters.

      Is anyone can suggest maybe an alternative way to call each server (not using UNIX signal)?
      If events and signals are only the way – is it recommended to use signals in Tuxedo?
      Is there any other way to configure events in MSSQ?