Problem with loggin configuration

17 views
Skip to first unread message

Graham Withey

unread,
Dec 1, 2014, 9:43:43 AM12/1/14
to rio-...@googlegroups.com
Hi,

We are using Rio 5.0 M3 with Blitz Java space and are getting the error below perhaps once in perhaps 1000 transactions.

ERROR 14:07:03.736 c.t.i.j.s.c.c.i.SimpleEntryBivalve - Unable to invoke worker com.travellinck.EMailEvaluatorProxy #handleMailReceived because an input is not usable: net.jini.core.entry.UnusableEntryException
net.jini.core.entry.UnusableEntryException: null
at org.dancres.blitz.mangler.EntryMangler.unMangle(EntryMangler.java:131) ~[na:na]
at org.dancres.blitz.remote.BlitzProxy.takeIfExists(BlitzProxy.java:174) ~[na:na]
at org.dancres.blitz.remote.ConstrainableBlitzProxy.takeIfExists(ConstrainableBlitzProxy.java:43) ~[na:na]
INFO  14:07:03.736 c.t.i.j.s.c.c.i.a.i.FileDumpEntryAsylum - Details of unusable Entry: Caught by net.jini.core.entry.UnusableEntryException (partial entry is null, unusable fields are: (nonestuff), root cause(s) are: [java.security.AccessControlException: access denied ("java.io.FilePermission" "/opt/rio/config/logging/appender-config.xml" "read")]

Does anyone have any thoughts on what this could be or why the appender-config file is being read every time when taking from the space?


Thanks,
Graham Withey

Dennis Reedy

unread,
Dec 1, 2014, 9:49:47 AM12/1/14
to rio-...@googlegroups.com
Hi Graham,

Not quite sure why your logging configuration is being read. Can you post the EMailEvaluatorProxy code?

Dennis

--
You received this message because you are subscribed to the Google Groups "Rio Users Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rio-users+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Dawid Loubser

unread,
Dec 8, 2014, 8:30:54 AM12/8/14
to rio-...@googlegroups.com
Hi Dennis,

As you know, I work with Graham - let me provide a bit more info:
It's not that practical for us to post the full code, as this is a worker that is executed by a worker framework that we have written in-house.
It's based on ideas from flow-based programming, with multiple inputs and outputs (from, and to, JavaSpaces).

Ultimately, there exists a main loop for each worker method, invoking code like:

while (!executorService.isShutdown())
{
try
{
   Transaction.Created tc = TransactionFactory.create(transactionManager, TRANSACTION_LEASE_TIME);

   try
   {
// Read all required entries for the worker model
Object[] entries = pullInputs(workerModel.getInputs(), inputTemplates, tc.transaction, space);

// Invoke worker method with those as params
invocations.increment();
executionTime.startTiming();
Object outputs = workerModel.getMethod().invoke( worker, entries );
executionTime.stopTiming();

// Publish outputs to space
pushOutputs( outputs, tc.transaction, space, workerModel );

// Commit transaction
tc.transaction.commit();
   }
}
        ...
}

With pullInputs ultimately just interacting with the space normally, for example:

space.takeIfExists( template, transaction, timeout );

I wonder if Blitz (i.e. it's proxy) doesn't do something that causes log configuration to be read on every operation?
And furthermore, if we're not perhaps running out of file handles or something, causing that particular operation
to fail, wrapped as an "UnusableEntryException" (perhaps a default behaviour)?

Do you think we should take this up with Dan Creswell, perhaps? Or is there anything you can think of (perhaps caused by the SLF4J/JUL bridge, etc?)

Any thoughts much appreciated -
Dawid



Op maandag 1 december 2014 16:49:47 UTC+2 schreef dennisr:

Dennis Reedy

unread,
Dec 8, 2014, 9:46:57 AM12/8/14
to rio-...@googlegroups.com
Hi Dawid,

I’m not sure if it’s a Blitz issue, you could swap out Blitz and use Outrigger to verify that. However, how is the logger declared in the Entry class? I’m wondering if, upon de-serialization, the unintended behavior is being triggerred

Dennis
Reply all
Reply to author
Forward
0 new messages