Re: outrigger "I/O error reading from mux connection"

"John W. F. Mcclain" <[email protected]>
Newsgroups gmane.comp.java.sun.javaspaces
Organization Sun Microsystems, Inc.
Message-ID <[email protected]>
Dan Creswell wrote:
> So would the original writer expect to get back a valid lease in this
> circumstance?

Yes, though of course trying to renew or cancel the lease
would result in UnknownLeaseException since the entry
is gone.

> Were that to be the case we would be able to rule out some avenues of
> concern by simply modifying the writer to confirm this happened.  And if
> that were happening we could safely assume the EOFException was being
> generated from some other source.

It does sound like the write is returning w/o throwing an exception.

> One thing I'm still not clear on is whether empty space == restarted
> space - Lachlan?

Would be good to know since a restarted space wouldn't have
any orphaned takes running.

> Cheers,
>
> Dan.
>
> John W. F. Mcclain wrote:
>
>>I think Gregg is probably right. Logging the
>>"writing EntryRep[com.ca.jini.space.hello.StdioHelloEntry] (txn = null)"
>>message is pretty much the last thing the server side write
>>method does before returning the necessary info to create the lease
>>in the client. At this point the entry has
>>been made visible to other threads (and if this was a persistent space
>>made durable). Is the client doing the take doing a blocking
>>take? If yes my guess is that when the write happens there is a query
>>from a previous, but now dead, instance of the taking client still
>>in progress, that take gets the newly written entry, the entry
>>gets dumped on the floor (since the previous client is dead)
>>and JERI's java.io.EOFException occurs when JERI turns around
>>to get the next call from the dead taking client.
>>
>>See this post for a longer discussion of this issue:
>>
>>  http://archives.java.sun.com/cgi-bin/wa?A2=ind0405&L=javaspaces-users&P=R2084&I=-3
>>
>>If you are not doing a blocking take or there was no previous
>>instance of the taking client, I need more info....
>>
>>Hope this helps, if not we can try again....
>>
>>Lachlan O'Dea wrote:
>>
>>
>>>Hi,
>>>
>>>I've just started with Javaspaces and I've got a very simple hello
>>>world running under outrigger. But I'm finding that sometimes when I
>>>write an entry to the space, I get outrigger logging this:
>>>
>>>Sep 14, 2005 6:39:03 PM OutriggerServerImpl write
>>>FINER: ENTRY
>>>Sep 14, 2005 6:39:03 PM OutriggerServerImpl enterTxn
>>>FINER: ENTRY
>>>Sep 14, 2005 6:39:03 PM com.sun.jini.outrigger.OutriggerServerImpl
>>>addWrittenRep
>>>FINEST: OutriggerServerImpl: addWrittenRep
>>>Sep 14, 2005 6:39:03 PM com.sun.jini.outrigger.OutriggerServerImpl write
>>>FINEST: writing EntryRep[com.ca.jini.space.hello.StdioHelloEntry]
>>>(txn = null)
>>>Sep 14, 2005 6:39:03 PM net.jini.jeri.BasicInvocationDispatcher dispatch
>>>FAILED: com.sun.jini.outrigger.TransientOutriggerImpl@f0761a locally
>>>throws
>>>java.io.IOException: I/O error reading from mux connection:
>>>java.io.EOFException
>>>        at com.sun.jini.jeri.internal.mux.Session
>>>$MuxOutputStream.ensureOpen(Session.java:647)
>>>        at com.sun.jini.jeri.internal.mux.Session
>>>$MuxOutputStream.write(Session.java:562)
>>>        at net.jini.jeri.BasicInvocationDispatcher.dispatch
>>>(BasicInvocationDispatcher.java:635)
>>>        at com.sun.jini.jeri.internal.runtime.ObjectTable$6.run
>>>(ObjectTable.java:593)
>>>        at net.jini.export.ServerContext.doWithServerContext
>>>(ServerContext.java:103)
>>>        at com.sun.jini.jeri.internal.runtime.ObjectTable
>>>$Target.dispatch0(ObjectTable.java:591)
>>>        at com.sun.jini.jeri.internal.runtime.ObjectTable
>>>$Target.access$700(ObjectTable.java:212)
>>>        at com.sun.jini.jeri.internal.runtime.ObjectTable$5.run
>>>(ObjectTable.java:566)
>>>        at com.sun.jini.start.AggregatePolicyProvider$6.run
>>>(AggregatePolicyProvider.java:527)
>>>        at java.security.AccessController.doPrivileged(Native Method)
>>>        at com.sun.jini.jeri.internal.runtime.ObjectTable
>>>$Target.dispatch(ObjectTable.java:563)
>>>        at com.sun.jini.jeri.internal.runtime.ObjectTable
>>>$Target.dispatch(ObjectTable.java:540)
>>>        at com.sun.jini.jeri.internal.runtime.ObjectTable$RD.dispatch
>>>(ObjectTable.java:774)
>>>        at net.jini.jeri.connection.ServerConnectionManager
>>>$Dispatcher.dispatch(ServerConnectionManager.java:148)
>>>        at com.sun.jini.jeri.internal.mux.MuxServer$2.run
>>>(MuxServer.java:237)
>>>        at com.sun.jini.start.AggregatePolicyProvider$5.run
>>>(AggregatePolicyProvider.java:513)
>>>        at java.security.AccessController.doPrivileged(Native Method)
>>>        at com.sun.jini.jeri.internal.mux.MuxServer$1.run
>>>(MuxServer.java:234)
>>>        at com.sun.jini.thread.ThreadPool$Worker.run(ThreadPool.java:
>>>136)
>>>        at java.lang.Thread.run(Thread.java:613)
>>>Caused by: java.io.EOFException
>>>        at com.sun.jini.jeri.internal.mux.StreamConnectionIO
>>>$Reader.run(StreamConnectionIO.java:244)
>>>        ... 2 more
>>>
>>>When this happens, the entry does not appear in the space (there's a
>>>take in progress, but it remains blocked), but no exception is thrown
>>>to the client doing the write. So that's not good.
>>>
>>>This only happens intermittently, most writes do not result in the
>>>above exception in outrigger, and they work perfectly. As far as I
>>>can tell, it only happens when the space is empty, and if I follow it
>>>up immediately by more writes, they all work.
>>>
>>>I'm using version 2.0.2 on Mac OS 10.4.2, Java 5 (I tried running
>>>outrigger under 1.4, but it was the same). No transactions. Any ideas
>>>as to what the problem might be? Some problem with JERI it appears,
>>>but I don't have any clue about how that stuff works.
>>>
>>>--
>>>Lachlan O'Dea
>>>Computer Associates
>>>Senior Software Engineer
>>>tel: +61 3 8416 5627
>>>fax: +61 3 8416 5810
>>>mobile: +61 412 390 650
>>>[email protected]


--
BTW, if you want to reply to this message, please direct your reply
to the list, thanks

John McClain                                    [email protected]
Sun Microsystems, Inc.
Burlington, MA

A business that makes nothing but money, is a poor business.
   - Henry Ford

===========================================================================
To unsubscribe, send email to [email protected] and include in the body
of the message "signoff JAVASPACES-USERS".  For general help, send email to
[email protected] and include in the body of the message "help".

To view past JAVASPACES-USERS postings, please see:
http://archives.java.sun.com/archives/javaspaces-users.html

JDC members can download the JavaSpaces(tm) Technology from:
http://developer.java.sun.com/developer/products/jini/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.