Welcome to the new Gigaspaces XAP forum. To recover your account, please follow these instructions.

Ask Your Question
0

Failed to invoke one-way method

I got this exception after enabling one-way writes. A small percentage of the writes have appeared to fail. Any suggestions?

SEVERE [com.gigaspaces.lrmi]: Failed to invoke one-way method: public abstract net.jini.core.lease.Lease com.j_spaces.core.IRemoteJSpace.write(com.j_spaces.core.IEntryPacket,net.jini.core.transaction.Transaction,long,com.j_spaces.core.SpaceContext,long) throws net.jini.core.transaction.TransactionException,net.jini.core.entry.UnusableEntryException,com.j_spaces.core.UnknownTypeException,java.rmi.RemoteException com.gigaspaces.exception.lrmi.ApplicationException Caused by: com.j_spaces.core.UnknownTypeException: Insufficient Data In Class : com.my.DomainObject at com.j_spaces.core.JSpaceDirectory.handleMissingEntryType(JSpaceDirectory.java:245) at com.j_spaces.core.JSpaceDirectory.handleEntryType(JSpaceDirectory.java:205) at com.j_spaces.core.JSpaceEngine.write(JSpaceEngine.java:927) at com.j_spaces.core.JSpaceEngine.unsafeWrite(JSpaceEngine.java:895) at com.j_spaces.core.JSpaceEngine.write(JSpaceEngine.java:878) at com.j_spaces.core.JSpaceImpl.write(JSpaceImpl.java:328) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.gigaspaces.lrmi.LRMIRuntime.invoked(LRMIRuntime.java:364) at com.gigaspaces.lrmi.nio.Pivot.consumeAndHandleRequest(Pivot.java:367) at com.gigaspaces.lrmi.nio.Pivot.handleRequest(Pivot.java:455) at com.gigaspaces.lrmi.nio.Pivot$ChannelEntryTask.run(Pivot.java:148) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619)

Edited by: Larry Chu on Aug 21, 2008 12:14 PM

{quote}This thread was imported from the previous forum. For your reference, the original is [available here|http://forum.openspaces.org/thread.jspa?threadID=2548]{quote}

asked 2008-08-21 12:14:39 -0500

larrychu gravatar image

updated 2013-08-08 09:52:00 -0500

jaissefsfex gravatar image
edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
0

Can you perform a snapshot before calling the write operation and see if this happens?
This will explicitly introduce the com.my.DomainObject to the space.

Note that one way mode does not support transactional operations and designed for highly reliable networks and tuned TCP stack.

Shay

answered 2008-08-21 16:14:08 -0500

shay hassidim gravatar image
edit flag offensive delete link more

Comments

I will try snapshot to see if it might solve this problem. I want to use one-way to tune our Data Feeder which loads all of our data to the partitioned space (instead of using the HEDS). I think it fits nicely for this usage. One use case is when we want to load the space from an existing space during an upgrade.

Larry

larrychu gravatar imagelarrychu ( 2008-08-21 17:47:49 -0500 )edit

I now use snapshot before writing an instance of a class that has not yet been written. The good news is, the error message involving my DomainObject is now gone. The bad news is now I'm getting the following errors. I only see the errors on the space side.

Aug 21, 2008 4:55:43 PM SEVERE [com.gigaspaces.lrmi]: Failed to invoke one-way method: public abstract net.jini.core.lease.Lease[] com.j_spaces.core.IRemoteJSpace.write(com.j_spaces .core.IEntryPacket[],net.jini.core.transaction.Transaction,long,com.j_spaces.core.SpaceContext,long) throws net.jini.core.transaction.TransactionException,co m.j_spaces.core.UnknownTypesException,java.rmi.RemoteException com.gigaspaces.exception.lrmi.ApplicationException Caused by: com.j_spaces.core.UnknownTypesException at com.j_spaces.core.JSpaceEngine.write(JSpaceEngine.java:1617) at com.j_spaces.core.JSpaceImpl.write(JSpaceImpl.java:1379) at sun.reflect.GeneratedMethodAccessor35.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.gigaspaces.lrmi.LRMIRuntime.invoked(LRMIRuntime.java:364) at com.gigaspaces.lrmi.nio.Pivot.consumeAndHandleRequest(Pivot.java:367) at com.gigaspaces.lrmi.nio.Pivot.handleRequest(Pivot.java:455) at com.gigaspaces.lrmi.nio.Pivot$ChannelEntryTask.run(Pivot.java:148) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619)

Edited by: Larry Chu on Aug 21, 2008 7:04 PM

larrychu gravatar imagelarrychu ( 2008-08-21 19:04:24 -0500 )edit

To load data from one space to another u can use the space copy api. Fast data load should be done via writeMultiple or via EDS.

One way is relevant to push a single object into the space in very fast manner - for example market data ticks.

Shay

shay hassidim gravatar imageshay hassidim ( 2008-08-21 21:40:49 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2008-08-21 12:14:39 -0500

Seen: 61 times

Last updated: Aug 21 '08