[omniORB] Problems with omniEvent

BETIS Alexandre A.BETIS at csee-transport.fr
Thu Jun 19 11:16:32 BST 2003


Hello,

We are using the great omniEvent event channel, and have two basic yet frustrating problems.

First, the persistence mechanism does not seem to respect the "cleanup" delay as specified in the configuration file. It seems to perform this clean up at any random time. Has anyone ever encountered this problem before? I am thinking about hacking in the code to get rid of the persistence mechanism (!) but would like to avoid it if possible. Notice that this result into HUGE log files in our case (~100M)

Second, the event channel is not purging connections to dead push consumers. This results into having it indefinitely grows into memory (and the $£%*@ log file on disk too). When looking into the code for the proxy push supplier (CosEvent_i.cc), here is what I found:

-------------------------------------------------------

void
ProxyPushSupplier_i::dispatch ()
{
<snip>
         try {
            if (! CORBA::is_nil(_consumer))
            {
               // Push event data
               _consumer->push(event.data);
            }
         }
         catch (...)
         {
//           DB(20, "ProxyPushSupplier_i : Exception notifying PushConsumer!");
//           DB(20, "ProxyPushSupplier_i : Disconnectig PushConsumer.");
//           // Cant disconnect directly because disconnect_push_supplier
//           // signals this thread and disposes of the object. Create a
//           // new thread to do the disconnection instead.
//           omni_thread *disconnect_thread = new ProxyPushSupplierWorker(this,
//                              &ProxyPushSupplier_i::disconnect_push_supplier,
//                              omni_thread::PRIORITY_HIGH);
//           disconnect_thread->join(0);
         }
<snip>
}

----------------------------------------------------

... which looks like 'whoops, I forgot uncommenting after debugging' to me. While I will try to uncomment this, I would like to know if there is a good reason for that?

Thanks,

-- Alex



More information about the omniORB-list mailing list