Hi Chris,
Thank you. I have tested the patch:
1) I am using Kowari Metadata Store
version 1.0.5 (Build v1.0.831). Clean version.
2) I am using patched version of Fedora.
3) When I run fedora-rebuild the following
exception is thrown (FedoraViewNamespace is not serializable):
org.kowari.query.QueryException: Java RMI failure
at org.kowari.server.rmi.RemoteSessionWrapperSession.testRetry(RemoteSes
sionWrapperSession.java:735)
at org.kowari.server.rmi.RemoteSessionWrapperSession.insert(RemoteSessio
nWrapperSession.java:233)
at org.trippi.impl.kowari.KowariSession.doTriples(KowariSession.java:142
)
at org.trippi.impl.kowari.KowariSession.add(KowariSession.java:128)
at org.trippi.impl.base.MemUpdateBuffer.writeBatch(MemUpdateBuffer.java:
167)
at org.trippi.impl.base.MemUpdateBuffer.writeBatches(MemUpdateBuffer.jav
a:157)
at org.trippi.impl.base.MemUpdateBuffer.flush(MemUpdateBuffer.java:118)
at org.trippi.impl.base.ConcurrentTriplestoreWriter.flushBuffer(Concurre
ntTriplestoreWriter.java:272)
at org.trippi.impl.base.ConcurrentTriplestoreWriter.close(ConcurrentTrip
lestoreWriter.java:330)
at org.trippi.impl.kowari.KowariConnector.close(KowariConnector.java:287
)
at fedora.server.resourceIndex.ResourceIndexImpl.close(ResourceIndexImpl
.java:374)
at fedora.server.resourceIndex.ResourceIndexRebuilder.finish(ResourceInd
exRebuilder.java:194)
at fedora.server.utilities.rebuild.Rebuild.<init>(Rebuild.java:134)
at fedora.server.utilities.rebuild.Rebuild.main(Rebuild.java:457)
Caused by: java.rmi.MarshalException: error
marshalling arguments; nested except
ion is:
java.io.NotSerializableException: fedora.common.rdf.FedoraViewNamespace
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:122)
at org.kowari.server.rmi.RemoteSessionImpl_Stub.insert(Unknown
Source)
at org.kowari.server.rmi.RemoteSessionWrapperSession.insert(RemoteSessio
nWrapperSession.java:228)
... 12 more
Caused by: java.io.NotSerializableException:
fedora.common.rdf.FedoraViewNamespa
ce
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1075)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java
:1369)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:13
41)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1284)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java
:1369)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:13
41)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1284)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
at java.util.HashSet.writeObject(HashSet.java:254)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:89
0)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:13
33)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav
a:1284)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1073)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:291)
at sun.rmi.server.UnicastRef.marshalValue(UnicastRef.java:258)
at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:117)
... 14 more
WARN [main] (ConcurrentTriplestoreWriter.java:334)
- Error flushing update buff
er while closing Triplestore: org.trippi.TrippiException:
Error adding triples:
org.kowari.query.QueryException: Java RMI
failure
Btw:
1) Trippi classes in Patch are different
that from official distribution of trippi. Where are these from?
2) When I use trippi in my own application
(e.g. method TriplestoreWriter.add), it throws ClassNotFoundException (org.trippi.RDFUtil$FreeTriple).
When I added trippi classes on kowari server, it was possible to store triples
using trippi.
3) But second time it throwed:
FINE: RMI TCP Connection(4)-192.168.1.168:
[192.168.1.168] exception:
org.kowari.query.QueryException: Rollback
failed
at org.kowari.store.AbstractDatabaseSession.endTransaction(AbstractDatab
aseSession.java:3525)
at org.kowari.store.AbstractDatabaseSession.insert(AbstractDatabaseSessi
on.java:1310)
at org.kowari.server.rmi.SessionWrapperRemoteSession.insert(SessionWrapp
erRemoteSession.java:161)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:261)
at sun.rmi.transport.Transport$1.run(Transport.java:148)
at java.security.AccessController.doPrivileged(Native
Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
60)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
.java:701)
at java.lang.Thread.run(Thread.java:534)
Caused by: org.kowari.query.QueryException:
org.kowari.store.StoreException: Rol
lback failed
at org.kowari.store.xa.XADatabaseImpl.rollback(XADatabaseImpl.java:356)
at org.kowari.store.AbstractDatabaseSession.endTransaction(AbstractDatab
aseSession.java:3523)
... 13 more
Caused by: java.lang.IllegalStateException:
No current phase. NodePool has not
been initialized or has been closed.
at org.kowari.store.nodepool.xa.XANodePoolImpl.checkInitialized(XANodePo
olImpl.java:889)
at org.kowari.store.nodepool.xa.XANodePoolImpl.rollback(XANodePoolImpl.j
ava:735)
at org.kowari.store.xa.SimpleXAManager.rollback(SimpleXAManager.java:209
)
at org.kowari.store.xa.XADatabaseImpl.rollback(XADatabaseImpl.java:347)
... 14 more
3.1.2007 9:50:16 sun.rmi.transport.StreamRemoteCall
getOutputStream
4) Error handling of Kowari is really
strange - when some error occurs, it seems Kowari is not working correctly. Do
not know about any patch to be possible to use in production?
Thanks
From:
Chris Wilper [mailto:cwilper-NfByoz7J8eJ7M33PncoYlQ@public.gmane.org]
Sent: Thursday, December 21, 2006
10:25 PM
To: peter.rajsky; Fedora-users-jhZW/2jqqROXDw4h08c5KA@public.gmane.org
Subject: RE: [Fedora-users] re:
remote kowari connector
Hi Peter,
> 1) Utility fedora-rebuild is not working with remote connector.
This limitation with the rebuilder has recently been removed.
If you're using Fedora 2.1.1, you can get a patch that fixes
it (and other things) at:
http://www.fedora.info/bugzilla/show_bug.cgi?id=193
Be sure to have a look at the README inside the zip file.
> 2) Fedora is not working (probably there is no such RMI method.
> It is not
I'm note sure about this one, but it could be the case that
the local Kowari libraries (the ones in WEB-INF/lib) are a different
version than those of the remote Kowari?
- Chris
-----Original Message-----
From: fedora-users-bounces-jhZW/2jqqROXDw4h08c5KA@public.gmane.org on behalf of peter.rajsky
Sent: Wed 12/20/2006 9:40 AM
To: Fedora-users-jhZW/2jqqROXDw4h08c5KA@public.gmane.org
Subject: [Fedora-users] re: remote kowari connector
Hi Chris,
I have tried it:
1) Utility fedora-rebuild is not working with remote connector.
fedora.server.errors.ResourceIndexException: Rebuilder does not currently
suppor
t remote triplestores.
at
fedora.server.resourceIndex.ResourceIndexRebuilder.start(ResourceInde
xRebuilder.java:91)
at
fedora.server.utilities.rebuild.Rebuild.<init>(Rebuild.java:107)
at
fedora.server.utilities.rebuild.Rebuild.main(Rebuild.java:457)
2) Fedora is not working (probably there is no such RMI method. It is not
working also when I try to use trippi in my own application):
java.rmi.UnmarshalException: invalid method hash
at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:233)
at
sun.rmi.transport.Transport$1.run(Transport.java:148)
at
java.security.AccessController.doPrivileged(Native Method)
at
sun.rmi.transport.Transport.serviceCall(Transport.java:144)
at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:4
60)
at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport
.java:701)
at
java.lang.Thread.run(Thread.java:534)
I am using kowari-1.1.0-pre2.
Don't you know, what I have done in wrong way?
Thanks.