KODO JDO Exception - kodo.util.FatalDataStoreException
Using <b>Kodo Version - 3.3.4</b>, getting following exception when we try to <b>COMMIT</b>. Please let us know the reason for this kind of exception.
java.lang.NullPointerException>
kodo.util.FatalDataStoreException: java.lang.NullPointerException
at kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:1020)
at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
at com.capgroup.isa.dal.LibrarySession.commit(LibrarySession.java:135)
NestedThrowablesStackTrace:
java.lang.NullPointerException
at kodo.jdbc.runtime.JDBCStoreManager.commit(JDBCStoreManager.java:140)
at kodo.runtime.DelegatingStoreManager.commit(DelegatingStoreManager.java:101)
at kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.java:1317)
at kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:998)
at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
at com.capgroup.isa.dal.LibrarySession.commit(LibrarySession.java:135)
Thanks,
A NPE coming from Kodo's code is a defect. I suggest you try with 3.4.1 or a more recent version. Similar bugs have been fixed in them.
Laurent
Similar Messages
-
Kodo.util.FatalDataStoreException: Wrong database file version
Hi,
I am using Kodo JDO 3.0.2 together with HSQLDB (non-cached, same process).
It
runs fine. However, after having used a SQL tool such as Aqua Data Studio
to
inspect the database my Java code complains with the message
"kodo.util.FatalDataStoreException: Wrong database file version". I have
to
rebuild the database and extend my classes again to get rid of this error.
Is there some information in the database script that does not survive the
inspection with the SQL tool? How can I work around this?
Thanks for your help
--BrunoMarc,
It was indeed a version mismatch with my hsqldb libs. My SQL Tool used
version 1.7.2 whereas Kdo used 1.7.0. A quick update of the property file
of
Aqua Data Studio fixed the problem. Thanks for the hint.
--Bruno
Marc Prud'hommeaux wrote:
Bruno-
Without being at all familiar with "Aqua Data Studio", I'll make a
completely shot in the dark guess about what might be happening: you are
using version x of Hypersonic to access the database, and then "Aqua
Data Studio" is using version x+1. When the database is opened with HSQL
version x+1, some internal version identifier in the database file is
incremented, which disallows the previous version of HSQL (which is
being used by Kodo) from opening the file.
Again, this is a blind guess, but if it is the case, then the solution
would be to ensure that you are using the same version of HSQL in both
Kodo and "Aqua Data Studio".
Otherwise, can you post the stack trace of the exception? That might
give some more insight as to why this might be happening.
As an aside, note that Kodo doesn't store or verify any internal
"version" or anything like that, so I very much doubt that it is a
problem with Kodo itself.
In article <c1fihi$igu$[email protected]>, Bruno Schaeffer wrote:
Hi,
I am using Kodo JDO 3.0.2 together with HSQLDB (non-cached, same
process).
It
runs fine. However, after having used a SQL tool such as Aqua Data Studio
to
inspect the database my Java code complains with the message
"kodo.util.FatalDataStoreException: Wrong database file version". I have
to
rebuild the database and extend my classes again to get rid of thiserror.
Is there some information in the database script that does not survivethe
inspection with the SQL tool? How can I work around this?
Thanks for your help
--Bruno
Marc Prud'hommeaux [email protected]
SolarMetric Inc. http://www.solarmetric.com -
I am receiving the following exception in our app at what appears to be
random intervals.
There were multiple users logged into the system, each getting their own
persistence manager (by way of pmFactory.getPersistenceManager(), which
are then stored in the http session and re-used as long as that user is
logged in) and when they started accessing the system simultaneously
everything was fine for a while (ranged from 30min to 3 hours) then one
person would see the exception, then others would see the exception right
after. Then a few minutes later the problem would be gone again for a
while
I have the multithread option set to true in kodo.properties and am using
pessimistic transactions
Using kodo 3.3.3
I am just curious what might cause something like this, it seems as though
2 threads are trying to commit the same data with the same persistence
manager to me.
My next step in debugging this process is extending the persistence
manager object to add some logging and see if my theory is correct.
Any pointers to tracking this down would be greatly appreciated
kodo.util.FatalDataStoreException: java.util.NoSuchElementException
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:1020)
at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
at
com.stchome.cdr.actions.SearchCriteriaWizardAction.searchQbe(SearchCriteriaWizardAction.java:345)
at sun.reflect.GeneratedMethodAccessor355.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
at
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
com.stchome.cdr.servlet.CdrActionServlet.process(CdrActionServlet.java:31)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
com.stchome.cdr.servlet.filters.SessionManagerFilter.doFilter(SessionManagerFilter.java:41)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
NestedThrowablesStackTrace:
java.util.NoSuchElementException
at serp.util.LookaheadIterator.next(LookaheadIterator.java:57)
at
com.solarmetric.apache.commons.collections.iterators.IteratorChain.next(IteratorChain.java:264)
at kodo.util.CacheMap$EntryIterator.next(CacheMap.java:654)
at java.util.AbstractCollection.toArray(AbstractCollection.java:174)
at java.util.ArrayList.<init>(ArrayList.java:136)
at kodo.datacache.QueryCacheImpl.keySet(QueryCacheImpl.java:165)
at
kodo.datacache.AbstractQueryCache.classesChanged(AbstractQueryCache.java:60)
at
kodo.datacache.DataCacheStoreManager.updateCaches(DataCacheStoreManager.java:217)
at
kodo.datacache.DataCacheStoreManager.commit(DataCacheStoreManager.java:73)
at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.java:1317)
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:998)
at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
at
com.stchome.cdr.actions.SearchCriteriaWizardAction.searchQbe(SearchCriteriaWizardAction.java:345)
at sun.reflect.GeneratedMethodAccessor355.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
at
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
com.stchome.cdr.servlet.CdrActionServlet.process(CdrActionServlet.java:31)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
com.stchome.cdr.servlet.filters.SessionManagerFilter.doFilter(SessionManagerFilter.java:41)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)Thank you stephen, that reply is like music to my ears :)
Stephen Kim wrote:
I would upgrade to 3.3.4 or 3.4 as they have resolved that bug.
Damian Bradicich wrote:
I am receiving the following exception in our app at what appears to be
random intervals.
There were multiple users logged into the system, each getting their own
persistence manager (by way of pmFactory.getPersistenceManager(), which
are then stored in the http session and re-used as long as that user is
logged in) and when they started accessing the system simultaneously
everything was fine for a while (ranged from 30min to 3 hours) then one
person would see the exception, then others would see the exception right
after. Then a few minutes later the problem would be gone again for a
while
I have the multithread option set to true in kodo.properties and am using
pessimistic transactions
Using kodo 3.3.3
I am just curious what might cause something like this, it seems as though
2 threads are trying to commit the same data with the same persistence
manager to me.
My next step in debugging this process is extending the persistence
manager object to add some logging and see if my theory is correct.
Any pointers to tracking this down would be greatly appreciated
kodo.util.FatalDataStoreException: java.util.NoSuchElementException
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:1020)
at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
at
com.stchome.cdr.actions.SearchCriteriaWizardAction.searchQbe(SearchCriteriaWizardAction.java:345)
at sun.reflect.GeneratedMethodAccessor355.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
at
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
com.stchome.cdr.servlet.CdrActionServlet.process(CdrActionServlet.java:31)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
com.stchome.cdr.servlet.filters.SessionManagerFilter.doFilter(SessionManagerFilter.java:41)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
NestedThrowablesStackTrace:
java.util.NoSuchElementException
at serp.util.LookaheadIterator.next(LookaheadIterator.java:57)
at
com.solarmetric.apache.commons.collections.iterators.IteratorChain.next(IteratorChain.java:264)
at kodo.util.CacheMap$EntryIterator.next(CacheMap.java:654)
at java.util.AbstractCollection.toArray(AbstractCollection.java:174)
at java.util.ArrayList.<init>(ArrayList.java:136)
at kodo.datacache.QueryCacheImpl.keySet(QueryCacheImpl.java:165)
at
kodo.datacache.AbstractQueryCache.classesChanged(AbstractQueryCache.java:60)
at
kodo.datacache.DataCacheStoreManager.updateCaches(DataCacheStoreManager.java:217)
at
kodo.datacache.DataCacheStoreManager.commit(DataCacheStoreManager.java:73)
at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.java:1317)
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:998)
at kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:629)
at
com.stchome.cdr.actions.SearchCriteriaWizardAction.searchQbe(SearchCriteriaWizardAction.java:345)
at sun.reflect.GeneratedMethodAccessor355.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at
org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
at
org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at
com.stchome.cdr.servlet.CdrActionServlet.process(CdrActionServlet.java:31)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
com.stchome.cdr.servlet.filters.SessionManagerFilter.doFilter(SessionManagerFilter.java:41)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
Steve Kim
[email protected]
SolarMetric Inc.
http://www.solarmetric.com -
Exception thrown kodo.util.OptimisticVerficationException
I am working with Kodo Jdo,
I trying to set the properties of a user objt and set it in the session
object to work with it in the different pages.
I have a UI form to modify the User properties and then call the
respective action update method.
public ActionForward update(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws NoUserSessionException {
ActionMessages messages = new ActionMessages();
PersistenceManager pm =
Utils.getPersistenceManagerFactory().getPersistenceManager();
User user = sessionUtils.getUser(pm, request); // get user from
the session object
if (validateFields(form, user, messages)) {
Transaction tx = pm.currentTransaction();
tx.begin();
form2model(form, user, pm); // move the values from form
to the user object
refreshUserSession(request, user); // update the session
with the user values.
tx.commit();
messages.add("success", new
ActionMessage("userPreferencesForm.message.operation.successfully"));
saveMessages(request, messages);
model2form(pm, user, form,request);
pm.close();
return mapping.findForward("form");
it work fine a couple of times , but once in the while when i try to get
the user in the session from the other pages I get a Exception when it
reach the excecution between the tx.begin and tx.commit of the update
method (above).
kodo.util.PtimisticVerificationException : There was 1 optimistic locking
error when flushing to the data store. This indicates that an object was
concurrently modified in another transaction. the exception in the nested
throwables array contains a failed object representing a concurrently
modified object.
can someone could tell me what can I do to solve the problem...
thanks in advance.Hi Marc,
I wasnt able to enable trace-level for SQL and JDBC
I added to jdo.properties the following:
# kodo.Log: SQL=TRACE, JDBC=TRACE
#kodo.Log: DefaultLevel=WARN, Runtime=INFO, Tool=INFO, SQL=TRACE
#kodo.Log: /tmp/kodo.log , DefaultLevel=WARN, Runtime=INFO, Tool=INFO,
#SQL=TRACE
kodo.Log: SQL=TRACE
also I tried using log4J by adding to jdo.properties
kodo.Log: log4j
and adding a log4j.properties file with the following:
log4j.rootCategory=WARN, console
log4j.category.kodo.jdbc.SQL=TRACE
log4j.category.kodo.jdbc.JDBC=TRACE
log4j.appender.console=org.apache.log4j.ConsoleAppender
could you advice me.
Marc Prud'hommeaux wrote:
Emmanuel-
An OptimisticVerficationException means that you are trying to update an
instance in the database, but that instance has been changed in between
the time when your instance was first obtained and the time at which you
try to commit the changes.
In order to track down why this is happening, you will usually do the
following:
1. Determine the failed object by calling
OptimisticVerficationException.getFailedObject. Printing this object out
in a debugging statement helps identify which instance has failed.
2. Enable TRACE-level SQL and JDBC logging and watch for other processes
that update that instance in the database.
3. Examine the SQL log for the last failed statement that was executed:
this will usually contain the lock column (e.g. "JDOVERSION") that is
being validated.
If you would like our assistance in determing exactly where the problem
is, please post the log with SQL and JDBC channels set to "TRACE", as
well as the complete stack trace from the exception.
In article <[email protected]>, Emmanuel wrote:
I am working with Kodo Jdo,
I trying to set the properties of a user objt and set it in the session
object to work with it in the different pages.
I have a UI form to modify the User properties and then call the
respective action update method.
public ActionForward update(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws NoUserSessionException {
ActionMessages messages = new ActionMessages();
PersistenceManager pm =
Utils.getPersistenceManagerFactory().getPersistenceManager();
User user = sessionUtils.getUser(pm, request); // get user from
the session object
if (validateFields(form, user, messages)) {
Transaction tx = pm.currentTransaction();
tx.begin();
form2model(form, user, pm); // move the values from form
to the user object
refreshUserSession(request, user); // update the session
with the user values.
tx.commit();
messages.add("success", new
ActionMessage("userPreferencesForm.message.operation.successfully"));
saveMessages(request, messages);
model2form(pm, user, form,request);
pm.close();
return mapping.findForward("form");
it work fine a couple of times , but once in the while when i try to get
the user in the session from the other pages I get a Exception when it
reach the excecution between the tx.begin and tx.commit of the update
method (above).
kodo.util.PtimisticVerificationException : There was 1 optimistic locking
error when flushing to the data store. This indicates that an object was
concurrently modified in another transaction. the exception in the nested
throwables array contains a failed object representing a concurrently
modified object.
can someone could tell me what can I do to solve the problem...
thanks in advance.
Marc Prud'hommeaux
SolarMetric Inc. -
Exception in thread "main" kodo.util.FatalInternalException:
I have a method that is trying to save multiple objects:
public void go()
tx.begin();
for (int i = 0; i < 10; i++) {
Person p = new Person();
p.setForename("doug");
p.setSurname("emerald");
p.setGender("m");
p.setBirthdate(new Date());
pm.makePersistent(p);
((KodoPersistenceManager) pm).flush();
tx.commit();
After calling close() on the PersistenceManager and Factory I get this
error:
Exception in thread "main" kodo.util.FatalInternalException: 0 ::
0:kodo.runtime.PNonTransState@15f7107 ::
0:kodo.runtime.PNonTransState@15f7107
at
kodo.runtime.PersistenceManagerImpl.setStateManager(PersistenceManagerImpl.java:2923)
at kodo.runtime.StateManagerImpl.commit(StateManagerImpl.java:680)
at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.java:907)
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:679)
at
kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:422)
at JDOPerf.go(JDOPerf.java:67)
at JDOPerf.<init>(JDOPerf.java:33)
at JDOPerf.main(JDOPerf.java:16)
What could be causing this error?
DougThis error was a side effect of the problem I had in my previous post
regarding sequences and application identity. It is now resolved.
Thanks
Stephen Kim wrote:
Does Person use application identity? Can you post the Persion's id class?
Doug Emerald wrote:
I should amend this, the error is on the tx.commit() call.
Doug Emerald wrote:
I have a method that is trying to save multiple objects:
public void go()
tx.begin();
for (int i = 0; i < 10; i++) {
Person p = new Person();
p.setForename("doug");
p.setSurname("emerald");
p.setGender("m");
p.setBirthdate(new Date());
pm.makePersistent(p);
((KodoPersistenceManager) pm).flush();
tx.commit();
After calling close() on the PersistenceManager and Factory I get this
error:
Exception in thread "main" kodo.util.FatalInternalException: 0 ::
0:kodo.runtime.PNonTransState@15f7107 ::
0:kodo.runtime.PNonTransState@15f7107
at
kodo.runtime.PersistenceManagerImpl.setStateManager(PersistenceManagerImpl.java:2923)
>>
at kodo.runtime.StateManagerImpl.commit(StateManagerImpl.java:680)
at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.java:907)
>>
at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.java:679)
>>
at
kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:422)
at JDOPerf.go(JDOPerf.java:67)
at JDOPerf.<init>(JDOPerf.java:33)
at JDOPerf.main(JDOPerf.java:16)
What could be causing this error?
Doug
Steve Kim
[email protected]
SolarMetric Inc.
http://www.solarmetric.com -
Kodo.util.*Identity not working in 3.3.2?
Hi, I have been trying to use one of the kodo identity classes for
application identity:
<class name="Person"
identity-type="application"
objectid-class="kodo.util.LongIdentity"
unfortunately the enhancer fails on a missing constructor??
[jdoc] kodo.util.FatalUserException: The objectid-class specified
by type "class kodo.Person" does not have public a no-args constructor.
2nd related question: I developed my own LongIdentity that has the missing
constructor and was planning to use it for most of my object model. on
some occasions, kodo seems to get confused about using the same
object-id-class for more than 1 persistent class:
<class name="Person"
identity-type="application"
objectid-class="kodo.AddressId" <!-- similar to
kodo.util.LongIdentity, used as well by persistent class Address -->
trying to load by id a Person:
Person person = (Person) ((KodoPersistenceManager)
pm).getObjectById(Person.class, ""+2000); // select
6750 TRACE [main] kodo.jdbc.SQL - <t 31737213, conn 19287723> [0 ms]
executing prepstmnt 26665270 SELECT t0.CITY, t0.STREET FROM ADDRESS t0
WHERE t0.ID = ? [params=(long) 2000] [reused=0]
kodo.util.ObjectNotFoundException: The instance "2000 [kodo.AddressId]"
does not exist in the data store.[2000 [kodo.AddressId]]
at
kodo.runtime.PersistenceManagerImpl.getObjectById(PersistenceManagerImpl.java:2090)
at
kodo.runtime.PersistenceManagerImpl.getObjectById(PersistenceManagerImpl.java:2005)
at
kodo.runtime.PersistenceManagerImpl.getObjectById(PersistenceManagerImpl.java:2285)
the problem is that a select on the address table gets executed??
note: if I make a copy/paste of my AddressId and rename it PersonId, then
this works fine.
if all pk are of type long, are we expected to subclass
kodo.util.LongIdentity and add the default constructor for each persistent
class?
thanks for the help,
v.here you go:
<?xml version="1.0" encoding="UTF-8"?>
<jdo>
<package name="kodo">
<class name="Address" identity-type="application">
<extension vendor-name="kodo" key="jdbc-class-map"
value="base"></extension>
<extension vendor-name="kodo" key="jdbc-class-map/table"
value="ADDRESS"></extension>
<extension vendor-name="kodo" key="jdbc-version-ind"
value="none"></extension>
<extension vendor-name="kodo" key="jdbc-class-ind-name"
value="none"></extension>
<extension vendor-name="kodo" key="detachable"
value="serialize"></extension>
<field name="id" primary-key="true">
<extension vendor-name="kodo" key="sequence-assigned"
value="true"></extension>
<extension vendor-name="kodo" key="jdbc-field-map"
value="value"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/column"
value="ID"></extension>
</field>
<field name="city">
<extension vendor-name="kodo" key="jdbc-field-map"
value="value"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/column"
value="CITY"></extension>
</field>
<field name="street">
<extension vendor-name="kodo" key="jdbc-field-map"
value="value"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/column"
value="STREET"></extension>
</field>
</class>
<class name="Person" identity-type="application">
<extension vendor-name="kodo" key="jdbc-class-map"
value="base"></extension>
<extension vendor-name="kodo" key="jdbc-class-map/table"
value="PERSON"></extension>
<extension vendor-name="kodo" key="jdbc-version-ind"
value="none"></extension>
<extension vendor-name="kodo" key="jdbc-class-ind-name"
value="none"></extension>
<extension vendor-name="kodo" key="detachable"
value="serialize"></extension>
<field name="addresses" default-fetch-group="true">
<collection element-type="kodo.Address">
</collection>
<extension vendor-name="kodo" key="jdbc-field-map"
value="one-many"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/ref-column.ID"
value="P_ID"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/table"
value="ADDRESS"></extension>
</field>
<field name="firstname">
<extension vendor-name="kodo" key="jdbc-field-map"
value="value"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/column"
value="FIRSTNAME"></extension>
</field>
<field name="id" primary-key="true">
<extension vendor-name="kodo" key="sequence-assigned"
value="true"></extension>
<extension vendor-name="kodo" key="jdbc-field-map"
value="value"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/column"
value="ID"></extension>
</field>
<field name="lastname">
<extension vendor-name="kodo" key="jdbc-field-map"
value="value"></extension>
<extension vendor-name="kodo" key="jdbc-field-map/column"
value="LASTNAME"></extension>
</field>
</class>
</package>
<!--
To use additional vendor extensions, create a vendor-extensions.xml file
that
contains the additional extensions (in extension tags) and place it in
your
projects merge dir.
-->
</jdo>
Patrick Linskey wrote:
Hi Vincent,
Can you post the .jdo file that XDoclet is creating please?
-Patrick
Vincent Sevel wrote:
I tried that but run into another exception:
* @jdo.persistence-capable identity-type="application"
* @jdo.class-vendor-extension vendor-name="kodo" key="jdbc-class-map"
value="base"
* @jdo.class-vendor-extension vendor-name="kodo"
key="jdbc-class-map/table" value="PERSON"
* @jdo.class-vendor-extension vendor-name="kodo" key="jdbc-version-ind"
value="none"
* @jdo.class-vendor-extension vendor-name="kodo"
key="jdbc-class-ind-name" value="none"
* @jdo.class-vendor-extension vendor-name="kodo" key="detachable"
value="serialize"
public class Person implements Serializable {
* @jdo.field primary-key="true"
* @jdo.field-vendor-extension vendor-name="kodo"
key="sequence-assigned" value="true"
* @jdo.field-vendor-extension vendor-name="kodo" key="jdbc-field-map"
value="value"
* @jdo.field-vendor-extension vendor-name="kodo"
key="jdbc-field-map/column" value="ID"
private Long id;
javax.jdo.JDOFatalInternalException
at kodo.Person.jdoNewObjectIdInstance(Person.java)
at kodo.util.ApplicationIds.create(ApplicationIds.java:280)
at
kodo.runtime.PersistenceManagerImpl.makePersistent(PersistenceManagerImpl.java:2424)
at
kodo.runtime.PersistenceManagerImpl.makePersistent(PersistenceManagerImpl.java:2371)
>>
Person p1 = new Person();
p1.setFirstname("vince");
p1.setLastname("sevel");
Address adr1 = new Address();
adr1.setStreet("1er mai");
adr1.setCity("geneve");
p1.getAddresses().add(adr1);
pm.makePersistent(p1);
I must be missing a flag or property somewhere??
thanks,
v.
Abe White wrote:
When using single field identity in JDO, you don't list an objectid-class
at
>>
all
in your metadata. Just set identity-type to "application". -
Class kodo.util.ObjectNotFoundException
Hi,
I'm getting this exception when running my application
class kodo.util.ObjectNotFoundException
The instance of type "com.jario.server.entitymodel.EntityLocation" with oid
"com.jario.server.entitymodel.EntityLocation-753" no longer exists in the
data store. This may mean that you deleted the instance in a separate
persistence manager, but this persistence manager still has a cached
version.
kodo.runtime.StateManagerImpl.loadFields(StateManagerImpl.java:2667)
kodo.runtime.StateManagerImpl.loadField(StateManagerImpl.java:2744)
kodo.runtime.StateManagerImpl.isLoaded(StateManagerImpl.java:1116)
com.jario.server.entitymodel.EntityLocation.jdoGetfileStorageType(EntityLoca
tion.java)
But the object is the in database with JDOID 753.
When I restart the instance It finds it no bother.
I'm running Kodo 3.0.1 Ent. (Licenced)
Why is this happening?
Kind Regards
Graham CruickshanksKodo 3.0.2 seems to have fixed this issue.
Cheers
Graham Cruickshanks
"Graham Cruickshanks" <[email protected]> wrote in message
news:buqr0f$7qk$[email protected]..
>
"Abe White" <[email protected]> wrote in message
news:buq0t4$kg9$[email protected]..
Are you using the data cache?No, Kodo.properties are as follows
javax.jdo.PersistenceManagerFactoryClass:
kodo.jdbc.runtime.JDBCPersistenceManagerFactory
kodo.LicenseKey: <REMOVED>
kodo.PersistenceManagerImpl: CloseOnManagedCommit=true
kodo.jdbc.SequenceFactory: PrimaryKeyColumn=PKX, SequenceColumn=SEQUENCEX,
TableName=JDO_SEQUENCEX
kodo.FlushBeforeQueries: true
javax.jdo.option.IgnoreCache: false
javax.jdo.option.ConnectionDriverName: com.mysql.jdbc.Driver
javax.jdo.option.ConnectionPassword:
javax.jdo.option.ConnectionURL:
jdbc:mysql://localhost/JarioServer?autoReconnect=true
javax.jdo.option.ConnectionUserName: JarioServer
kodo.jdbc.DBDictionary: mysql(StoreCharsAsNumbers=false, TableType=InnoDB)
Have you possibly deleted the object and flushed within the same
transaction?I have no delete actions this part of my application, so this is an
impossablity
If you enable SQL logging, you can see the last SELECT statement that is
failing. What happens if you run this against your DB directly?I'm experiencing other problems than just the listed error. I'mexperiencing
sporadic null pointer exceptions on call's that should return values from
the database.
The SQL trace shows the 'Select' query has been done, and if I try running
this with direct SQL to database it returns results. The results in the
tables where this happens have not be written too since applicationstartup.
so i can't be a flushing/datacache error.
The database & driver has not changed from KODO 2.x which worked fine.
Details
Database: 4.10.13-nt
Driver: mysql-connector-java-3.0.9-stable-bin.jar (Tried 3.0.10 as well,
same issue)
Java version: 1.4.2_01-b06
Kodo: 3.0.1 -
Kodo.util.DataStoreException: Backend start-up failed: FATAL
when we do one test which concurrent users number is 800, there will cause
following exception:
kodo.util.DataStoreException: Backend start-up failed: FATAL: Sorry, too
many clients already
would you tell me what will cause the exception? and how to support more
concurrent users?yes, this is my configure error.
when we reduce the MaxActive number(kodo db con pool size must smaller
then the allowed DB connections number), then the error not happen.
thanks a lot.
Marc Prud'hommeaux wrote:
Is your database configured to allow 200 simultaneous connections (as
you have specified in the "MaxActive=200" parameter of the
"kodo.ConnectionFactoryProperties" property)? If not, can you reduce
this number down to the maximum allowed by your database, and let us
know if the error still happens?
In article <[email protected]>, flamingo wrote:
kodo.properties as following:
# Database connection properties
javax.jdo.option.ConnectionDriverName=org.postgresql.Driver
javax.jdo.option.ConnectionUserName=xxx
javax.jdo.option.ConnectionPassword=xxx
javax.jdo.option.ConnectionURL=jdbc:postgresql://localhost/skillsdb
javax.jdo.option.Optimistic=true
javax.jdo.option.RetainValues=false
javax.jdo.option.RestoreValues=false
javax.jdo.option.NontransactionalRead=true
javax.jdo.option.NontransactionalWrite=false
javax.jdo.option.IgnoreCache=true
javax.jdo.PersistenceManagerFactoryClass=kodo.jdbc.runtime.JDBCPersistenceManagerFactory
>>
kodo.LicenseKey=xxx
kodo.ConnectionFactoryProperties=MaxCachedStatements=0, MaxActive=200,
MaxWait=5000, TestOnBorrow=true, ValidationSQL="SELECT GETDATE()"
kodo.ConnectionRetainMode=transaction
kodo.DataCache=true(CacheSize=10000)
kodo.QueryCache=true(CacheSize=5000)
#kodo.FlushBeforeQueries=true
kodo.RemoteCommitProvider=sjvm
kodo.ManagedRuntime=TransactionManagerName=java:/TransactionManager
kodo.PersistenceManagerImpl=EvictFromDataCache=true
kodo.jdbc.DBDictionary=postgres(StoreCharsAsNumbers=false)
kodo.jdbc.MappingFactory=metadata
kodo.jdbc.SchemaFactory: file(FileName=schema.xml)
kodo.jdbc.SequenceFactory=PrimaryKeyColumn=PKX, SequenceColumn=SEQUENCEX,
TableName=JDO_SEQUENCEX
and I check codes, we had closed all extent iterators, query results, PMs,
etc.
thanks a lot.
Abe White wrote:
There aren't any nested exceptions? That's the only trace you see?
In any case, the message is from your JDBC driver, which is probablyrelaying it
directly from your database. It is not a Kodo error message; Kodo is
only
wrapping the SQLException in a subclass of JDOException. As Patricksuggested,
the error probably means that your database can't handle the number ofclients
you're throwing at it. One possible reason for this is that you aren'tfreeing
up connections. Can you post your kodo.properties? Under default
settings
Kodo
doesn't hold onto database connections much, but under certain settings
it
becomes more important to remember to close your extent iterators, query
results, PMs, etc.
Marc Prud'hommeaux
SolarMetric Inc. -
This trace uses almost 10% of my CPU time. It looks like static data
collection. Is it being called much more often than it should, or am I
calling something more often than I should? (After this, I am down to the
DBMS being the bottleneck and a factor of 7 as the slow down from Poet to
Kodo/MySQL.)
TRACE 1622:
java.util.HashMap.addEntry(HashMap.java:719)
java.util.HashMap.put(HashMap.java:388)
java.util.HashSet.add(HashSet.java:188)
java.util.AbstractCollection.addAll(AbstractCollection.java:315)
java.util.HashSet.<init>(HashSet.java:94)
com.solarmetric.kodo.util.ImplHelper.getPersistentClasses(ImplHelper.java:46)
com.solarmetric.kodo.runtime.datacache.query.QueryKey.initializeQuery(QueryKey.java:137)
com.solarmetric.kodo.runtime.datacache.query.QueryKey.<init>(QueryKey.java:56)
com.solarmetric.kodo.runtime.datacache.query.CacheAwareQuery.execute(CacheAwareQuery.java:257)
itec.pos.Pos.findKey(Pos.java:121)Things have evolved, Secant -> Poet ODMG -> Poet/JDO. FindKey finds an
object by attribute, not the ID, like where 'name = "Bob"'. For Kodo, we
are using a JDOQL query; for Poet we use an Index (our tests are 4X faster
than when we use a Poet Query).
Joe
Patrick Linskey wrote:
BTW, what does findKey() do?
-Patrick
On Fri, 11 Jul 2003 00:40:46 +0000, Joe Batt wrote:
This trace uses almost 10% of my CPU time. It looks like static data
collection. Is it being called much more often than it should, or am I
calling something more often than I should? (After this, I am down to the
DBMS being the bottleneck and a factor of 7 as the slow down from Poet to
Kodo/MySQL.)
TRACE 1622:
java.util.HashMap.addEntry(HashMap.java:719)
java.util.HashMap.put(HashMap.java:388)
java.util.HashSet.add(HashSet.java:188)
java.util.AbstractCollection.addAll(AbstractCollection.java:315)
java.util.HashSet.<init>(HashSet.java:94)
com.solarmetric.kodo.util.ImplHelper.getPersistentClasses(ImplHelper.java:46)
>>
>
com.solarmetric.kodo.runtime.datacache.query.QueryKey.initializeQuery(QueryKey.java:137)
>>
com.solarmetric.kodo.runtime.datacache.query.QueryKey.<init>(QueryKey.java:56)
>>
>
com.solarmetric.kodo.runtime.datacache.query.CacheAwareQuery.execute(CacheAwareQuery.java:257)
itec.pos.Pos.findKey(Pos.java:121)
Patrick Linskey
SolarMetric Inc. -
Kodo.util.UnsupportedException: null
Hello,
Now I'm getting further. I was able to persist my objects!
However, I have an error regarding NamedQuery.
Here is the error:
Exception in thread "main" <3|true|4.0.0EA3>
kodo.util.UnsupportedException: null
at
kodo.query.ExpressionStoreQuery.executeUpdate(ExpressionStoreQuery.java:232)
at
kodo.query.ExpressionStoreQuery$DataStoreExecutor.executeUpdate(ExpressionStoreQuery.java:588)
at
kodo.query.ExpressionStoreQuery$DataStoreExecutor.executeUpdate(ExpressionStoreQuery.java:598)
at kodo.query.QueryImpl.update(QueryImpl.java:1223)
at kodo.query.QueryImpl.execute(QueryImpl.java:950)
at kodo.query.QueryImpl.updateAll(QueryImpl.java:1005)
at kodo.query.DelegatingQuery.updateAll(DelegatingQuery.java:812)
at kodo.persistence.QueryImpl.executeUpdate(QueryImpl.java:300)
at com.dalitest.ClientsDAO.updateClient(ClientsDAO.java:35)
The error is cryptic as well.
It happens for this code:
public int updateClient(EntityManager em, Client c)
Query q = em.createNamedQuery("UpdateClient");
//q.setParameter("newName", c.getName());
q.setParameter("cId", c.getId());
return q.executeUpdate();
And for my Client class I have (snipped):
@NamedQueries( {
@NamedQuery(name = "UpdateClient", queryString = "UPDATE Client c SET
c.name=:newName WHERE c.id=:cId"),
@NamedQuery(name = "DeleteClient", queryString = "DELETE from Client c
WHERE c.id=:cId") })
@Entity(access = AccessType.PROPERTY)
@Table(name = "DALI_CLIENTS")
public class Client {...}
In case I do uncomment q.setParameter("newName", c.getName());
The following exception is thrown:
Exception in thread "main" <4|false|4.0.0EA3>
kodo.persistence.ArgumentException: More parameters were passed to
execute() than were declared: {1} parameters were specific for query
execution, but only {0} parameters were declared in the query.
at kodo.query.QueryImpl.assertParameters(QueryImpl.java:1871)
at kodo.query.QueryImpl.execute(QueryImpl.java:941)
at kodo.query.QueryImpl.updateAll(QueryImpl.java:1005)
at kodo.query.DelegatingQuery.updateAll(DelegatingQuery.java:812)
at kodo.persistence.QueryImpl.executeUpdate(QueryImpl.java:300)
at com.dalitest.ClientsDAO.updateClient(ClientsDAO.java:35)
Can anyone point me what is wrong with my update query?Abe White wrote:
Thanks Abe for the information.
How do I have to proceed then with my updates at the moment? Do you have
any suggestions (besides waiting for the next release)?
Update the objects individually, or use SQL. Kodo allows you to access
the JDBC connection:>
http://solarmetric.com/Software/Documentation/4.0.0EA/docs/full/html/ref_guide_dbsetup_sqlconn.html
Thanks for the suggestions. SQL is not an option, since it will defeat the
purpose of the EJB3-persistence.
But can you elaborate more on the "Update the objects individually"
approach.
Let's say I have persistent Java bean Client and I changed some of its
properties (e.g. myClient.setName("New Name");)
How do I persiste it "individually"?
This approach does not work:
EntityTransaction t = em.getTransaction();
t.begin();
List<Client> pClients = new ClientsDAO().getAllClients(em);
for (Client pClient : pClients)
pClient.setName("New Name");
em.persist(pClient);
t.commit();
It throws error on t.commit();
<2|false|4.0.0EA3> kodo.util.OptimisticException: An optimistic lock violation
was detected when flushing object instance
"kodo.synthetic.com.dalitest.ClientKodoSyntheticSubclass-id-3" to the data
store. This indicates that the object was concurrently modified in another
transaction.
FailedObject: kodo.synthetic.com.dalitest.ClientKodoSyntheticSubclass-id-3
at
kodo.jdbc.kernel.PreparedStatementManager.checkUpdate(PreparedStatementManager.java:358)
at
kodo.jdbc.kernel.PreparedStatementManager.executeBatch(PreparedStatementManager.java:291)
at
kodo.jdbc.kernel.PreparedStatementManager.flushInternal(PreparedStatementManager.java:243)
at
kodo.jdbc.kernel.PreparedStatementManager.flush(PreparedStatementManager.java:206)
at kodo.jdbc.kernel.UpdateManagerImpl.flush(UpdateManagerImpl.java:217)
at kodo.jdbc.kernel.UpdateManagerImpl.flush(UpdateManagerImpl.java:94)
at kodo.jdbc.kernel.JDBCStoreManager.flush(JDBCStoreManager.java:557)
at
kodo.kernel.DelegatingStoreManager.flush(DelegatingStoreManager.java:151)
at kodo.kernel.BrokerImpl.flush(BrokerImpl.java:2034)
at kodo.kernel.BrokerImpl.flushSafe(BrokerImpl.java:1893)
at kodo.kernel.BrokerImpl.beforeCompletion(BrokerImpl.java:1819)
at kodo.kernel.LocalManagedRuntime.commit(LocalManagedRuntime.java:67)
at kodo.kernel.BrokerImpl.commit(BrokerImpl.java:1426)
at kodo.kernel.DelegatingBroker.commit(DelegatingBroker.java:1145)
at kodo.persistence.EntityManagerImpl.commit(EntityManagerImpl.java:420)
at com.dalitest.Test.main(Test.java:55) -
Kodo.util.FatalInternalException
[junit] Caused by: kodo.util.FatalInternalException: 1046,1024 ::
1046,1024:kodo.runtime.HollowState@cb2185 :: 1046,
1024:kodo.runtime.HollowState@cb2185
[junit] at
kodo.runtime.PersistenceManagerImpl.setStateManager(PersistenceManagerImpl.j
ava:3314)
[junit] at
kodo.runtime.StateManagerImpl.commit(StateManagerImpl.java:798)
[junit] at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.ja
va:1103)
[junit] at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.j
ava:842)
[junit] at
kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
[junit] at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:542)Tom-
This was reported at:
http://bugzilla.solarmetric.com/show_bug.cgi?id=940
The problem is that you have multiple instances with the same identity
and you are using horizontal inheritance. The solution is to move from
using a single application identity class for the entire hierarchy to
using one application identity class per class in the hierarchy. See:
http://docs.solarmetric.com/manual.html#horizontal_caveats
In article <c9nt6d$v63$[email protected]>, Tom Landon wrote:
When I changed retain values from false to true I got the error below
(3.1.2). Here are the relevant settings:
javax.jdo.option.Optimistic=true
#javax.jdo.option.RetainValues=false
javax.jdo.option.RetainValues=true
javax.jdo.option.RestoreValues=false
javax.jdo.option.NontransactionalRead=true
javax.jdo.option.NontransactionalWrite=false
[junit] Caused by: kodo.util.FatalInternalException: 1046,1024 ::
1046,1024:kodo.runtime.PNonTransState@56c3cf :: 10
46,1024:kodo.runtime.PNonTransState@56c3cf
[junit] at
kodo.runtime.PersistenceManagerImpl.setStateManager(PersistenceManagerImpl.j
ava:3314)
[junit] at
kodo.runtime.StateManagerImpl.commit(StateManagerImpl.java:798)
[junit] at
kodo.runtime.PersistenceManagerImpl.endTransaction(PersistenceManagerImpl.ja
va:1103)
[junit] at
kodo.runtime.PersistenceManagerImpl.afterCompletion(PersistenceManagerImpl.j
ava:842)
[junit] at
kodo.runtime.LocalManagedRuntime.commit(LocalManagedRuntime.java:86)
[junit] at
kodo.runtime.PersistenceManagerImpl.commit(PersistenceManagerImpl.java:542)
Marc Prud'hommeaux
SolarMetric Inc. -
Kodo.util.InternalException: null
Hello,
I'm trying new persistence EJB3 implementation from SolarMetric:
kodo-4.0.0EA3
I have constructed a simple test app. And when I try to run it I get:
Exception in thread "main" <1|true|4.0.0EA3> kodo.util.InternalException:
null
at
kodo.synthetic.com.dalitest.ClientKodoSyntheticSubclassProxy.kodoNewObjectIdInstance(Unknown
Source)
at kodo.util.ApplicationIds.create(ApplicationIds.java:246)
at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2433)
at kodo.kernel.BrokerImpl.persistSafe(BrokerImpl.java:2379)
at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2366)
at kodo.kernel.DelegatingBroker.persist(DelegatingBroker.java:1275)
at kodo.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:519)
at com.dalitest.Test.main(Test.java:21)
Do you know what is going on?
Here is my code:
package com.dalitest;
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.EntityTransaction;
import javax.persistence.Persistence;
public class Test
public static void main(String[] args)
EntityManagerFactory factory =
Persistence.createEntityManagerFactory("kodo");
EntityManager em = factory.createEntityManager();
Client c1 = new Client();
c1.setName("John Doe");
EntityTransaction t = em.getTransaction();
t.begin();
em.persist(c1);
t.commit();
and Client.java:
package com.dalitest;
import javax.persistence.AccessType;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Id;
import javax.persistence.Column;
@Entity(access = AccessType.PROPERTY)
@Table(name="DALI_CLIENTS")
public class Client
private String id;
private String name;
public void setName(String name)
this.name = name;
@Column(name="NAME")
public String getName()
return name;
public void setId(String id)
this.id = id;
@Id
@Column(name="ID")
public String getId()
return id;
and my persistence.xml:
<?xml version="1.0"?>
<entity-manager>
<name>kodo</name>
<provider>kodo.persistence.PersistenceProviderImpl</provider>
<class>com.dalitest.Client</class>
<properties>
<property name="kodo.LicenseKey"
value="XXX" />
<property name="kodo.ConnectionURL"
value="XXX" />
<property name="kodo.ConnectionDriverName"
value="oracle.jdbc.driver.OracleDriver" />
<property name="kodo.ConnectionUserName" value="XXX" />
<property name="kodo.ConnectionPassword" value="XXX" />
<property name="kodo.Log" value="DefaultLevel=WARN, Tool=INFO" />
</properties>
</entity-manager>
Where I have masked some values with XXX for this post.
Thanks in advance,
RuslanAlso I tried to enable DEBUG mode
<property name="kodo.Log" value="DefaultLevel=WARN, Tool=INFO" />
And got the following output before this exception:
15 INFO [main] kodo.Runtime - Starting Kodo 4.0.0EA3
62 DEBUG [main] kodo.Runtime - License capabilities: "Kodo Standard
Edition,Kodo Community Edition,Kodo Evaluation Edition,Datacache
Plug-in,Custom Result Object Providers,Custom Mappings,Enterprise
Databases,Query Extensions,Performance Pack,Statement Batching,Kodo
Enterprise Edition,Managed Environment,Developer Tools,Custom
DBDictionaries" Expiration: "2/25/06 7:00 PM" Maintenance expiration:
"2/25/06 7:00 PM"
187 INFO [main] kodo.jdbc.JDBC - Using dictionary class
"kodo.jdbc.sql.OracleDictionary".
343 INFO [main] kodo.MetaData - Found 1 classes with metadata in 0
milliseconds.
422 INFO [main] kodo.MetaData - parse-class
422 INFO [main] kodo.MetaData - parse-package
Exception in thread "main" <1|true|4.0.0EA3> kodo.util.InternalException:
null
at
kodo.synthetic.com.dalitest.ClientKodoSyntheticSubclassProxy.kodoNewObjectIdInstance(Unknown
Source)
at kodo.util.ApplicationIds.create(ApplicationIds.java:246)
at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2433)
at kodo.kernel.BrokerImpl.persistSafe(BrokerImpl.java:2379)
at kodo.kernel.BrokerImpl.persist(BrokerImpl.java:2366)
at kodo.kernel.DelegatingBroker.persist(DelegatingBroker.java:1275)
at kodo.persistence.EntityManagerImpl.persist(EntityManagerImpl.java:519)
at com.dalitest.Test.main(Test.java:21) -
Kodo.util.UserException with deletepersistent method
Hi,
When I want to delete an object, i have the following error :
kodo.util.UserException: The given instance
"operations.offres.produits.magazines.groupesetediteurs.GroupeDePresse@6dd60e"
is not managed by this
PersistenceManager.[operations.offres.produits.magazines.groupesetediteurs.GroupeDePresse@6dd60e]
There are the persistence methods i've wrote :
* Methode de classe pour r__cuperer un groupe de presse ou un Editeur
* @param nom String
* @return GroupesEtEditeurs
public static GroupesEtEditeurs getGroupesEtEditeurs(String nom) {
Persistance p = Persistance.getPersistance();
KodoPersistenceManager pm = p.getKodoPersistenceManager();
Query requete = pm.newQuery(GroupesEtEditeurs.class);
requete.setFilter("nom == '" + nom + "'");
requete.setUnique(true);
pm.currentTransaction().begin();
Object resultat = (Object) requete.execute();
resultat = pm.detach(resultat);
pm.currentTransaction().commit();
requete.closeAll();
pm.close();
return (GroupesEtEditeurs) resultat;
* Methode de classe pour sauvegarder et mettre __ jour un Groupe de
presse ou un Editeur
* @param groupesetediteurs GroupesEtEditeurs
public static void savGroupesEtEditeurs(GroupesEtEditeurs
groupesetediteurs) {
Persistance p = Persistance.getPersistance();
KodoPersistenceManager pm = p.getKodoPersistenceManager();
pm.currentTransaction().begin();
pm.attach(groupesetediteurs);
pm.currentTransaction().commit();
pm.close();
* Methode de classe pour supprimer un Groupe de presse ou un Editeur
* @param groupesetediteurs GroupesEtEditeurs
public static void delGroupesEtEditeurs(GroupesEtEditeurs
groupesetediteurs) {
Persistance p = Persistance.getPersistance();
KodoPersistenceManager pm = p.getKodoPersistenceManager();
pm.currentTransaction().begin();
pm.deletePersistent(groupesetediteurs);
pm.currentTransaction().commit();
pm.close();
... and in the main class :
GroupeDePresse gp0 = GroupeDePresse.getGroupeDePresse("mongroupe gp3");
GroupeDePresse.savGroupeDePresse(gp0);
GroupeDePresse.delGroupeDePresse(gp0); <---- the error source !
I've no problems for query, attach / detach or update ...
Please help !
thank you,
PascalHi,
When I want to delete an object, i have the following error :
kodo.util.UserException: The given instance
"operations.offres.produits.magazines.groupesetediteurs.GroupeDePresse@6dd60e"
is not managed by this
PersistenceManager.[operations.offres.produits.magazines.groupesetediteurs.GroupeDePresse@6dd60e]
There are the persistence methods i've wrote :
* Methode de classe pour r__cuperer un groupe de presse ou un Editeur
* @param nom String
* @return GroupesEtEditeurs
public static GroupesEtEditeurs getGroupesEtEditeurs(String nom) {
Persistance p = Persistance.getPersistance();
KodoPersistenceManager pm = p.getKodoPersistenceManager();
Query requete = pm.newQuery(GroupesEtEditeurs.class);
requete.setFilter("nom == '" + nom + "'");
requete.setUnique(true);
pm.currentTransaction().begin();
Object resultat = (Object) requete.execute();
resultat = pm.detach(resultat);
pm.currentTransaction().commit();
requete.closeAll();
pm.close();
return (GroupesEtEditeurs) resultat;
* Methode de classe pour sauvegarder et mettre __ jour un Groupe de
presse ou un Editeur
* @param groupesetediteurs GroupesEtEditeurs
public static void savGroupesEtEditeurs(GroupesEtEditeurs
groupesetediteurs) {
Persistance p = Persistance.getPersistance();
KodoPersistenceManager pm = p.getKodoPersistenceManager();
pm.currentTransaction().begin();
pm.attach(groupesetediteurs);
pm.currentTransaction().commit();
pm.close();
* Methode de classe pour supprimer un Groupe de presse ou un Editeur
* @param groupesetediteurs GroupesEtEditeurs
public static void delGroupesEtEditeurs(GroupesEtEditeurs
groupesetediteurs) {
Persistance p = Persistance.getPersistance();
KodoPersistenceManager pm = p.getKodoPersistenceManager();
pm.currentTransaction().begin();
pm.deletePersistent(groupesetediteurs);
pm.currentTransaction().commit();
pm.close();
... and in the main class :
GroupeDePresse gp0 = GroupeDePresse.getGroupeDePresse("mongroupe gp3");
GroupeDePresse.savGroupeDePresse(gp0);
GroupeDePresse.delGroupeDePresse(gp0); <---- the error source !
I've no problems for query, attach / detach or update ...
Please help !
thank you,
Pascal -
I find that JBoss hides JDO exceptions which occur on commit. Does
anyone know how to successfully turn on TRACE level log4j output on
jboss 3.0.1RC1? Alternatively, is there a way of getting Kodo to log
exceptions when they are thrown?
Thanks,
TomYou can catch "unhandled" exceptions as well and do what you want with them.
Things such as NullPointerException fall under RuntimeException. If you catch that, you can log it as you see fit.
Is that what you're asking? -
Hi All,
We are on Netweaver 7.01 SP14. (well I understand we are way behind patch levels, but a simple file upload should be working ?/)
We are trying to upload (HTML &/ Image) a file in one of the KM's public folder.
As and when we select folder and click on upload we get the below message:
Below is the error trace details:
Full Message Text
com.sapportals.wdf.WdfException
at com.sapportals.wcm.control.edit.ResourceUploadControl.render(ResourceUploadControl.java:688)
at com.sapportals.wdf.layout.HorizontalLayout.renderControls(HorizontalLayout.java:42)
at com.sapportals.wdf.stack.Pane.render(Pane.java:155)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:73)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:73)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:73)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:73)
at com.sapportals.wdf.WdfCompositeController.internalRender(WdfCompositeController.java:709)
at com.sapportals.wdf.WdfCompositeController.buildComposition(WdfCompositeController.java:674)
at com.sapportals.htmlb.AbstractCompositeComponent.preRender(AbstractCompositeComponent.java:33)
at com.sapportals.htmlb.Container.preRender(Container.java:120)
at com.sapportals.htmlb.Container.preRender(Container.java:120)
at com.sapportals.htmlb.Container.preRender(Container.java:120)
at com.sapportals.portal.htmlb.PrtContext.render(PrtContext.java:408)
at com.sapportals.htmlb.page.DynPage.doOutput(DynPage.java:238)
at com.sapportals.wcm.portal.component.base.KMControllerDynPage.doOutput(KMControllerDynPage.java:134)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:133)
at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:134)
at com.sapportals.wcm.portal.component.base.ControllerComponent.doContent(ControllerComponent.java:88)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:645)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:249)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:557)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:430)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1064)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)
--- Nested WDF Exception -----------------------
java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle, key xtlt_Required
at java.util.ResourceBundle.getObject(ResourceBundle.java:327)
at java.util.ResourceBundle.getObject(ResourceBundle.java:324)
at java.util.ResourceBundle.getString(ResourceBundle.java:287)
at com.sapportals.wcm.util.resource.ResourceBundles.getString(ResourceBundles.java:55)
at com.sapportals.wcm.control.base.WcmBaseControl.getBaseBundleString(WcmBaseControl.java:150)
at com.sapportals.wcm.control.base.WcmBaseControl.getBaseBundleString(WcmBaseControl.java:176)
at com.sapportals.wcm.control.edit.ResourceUploadControl.renderUploadFileContent(ResourceUploadControl.java:773)
at com.sapportals.wcm.control.edit.ResourceUploadControl.render(ResourceUploadControl.java:655)
at com.sapportals.wdf.layout.HorizontalLayout.renderControls(HorizontalLayout.java:42)
at com.sapportals.wdf.stack.Pane.render(Pane.java:155)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:73)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:73)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:73)
at com.sapportals.wdf.layout.HorizontalLayout.renderPanes(HorizontalLayout.java:73)
at com.sapportals.wdf.stack.Pane.render(Pane.java:158)
at com.sapportals.wdf.stack.PaneStack.render(PaneStack.java:73)
at com.sapportals.wdf.WdfCompositeController.internalRender(WdfCompositeController.java:709)
at com.sapportals.wdf.WdfCompositeController.buildComposition(WdfCompositeController.java:674)
at com.sapportals.htmlb.AbstractCompositeComponent.preRender(AbstractCompositeComponent.java:33)
at com.sapportals.htmlb.Container.preRender(Container.java:120)
at com.sapportals.htmlb.Container.preRender(Container.java:120)
at com.sapportals.htmlb.Container.preRender(Container.java:120)
at com.sapportals.portal.htmlb.PrtContext.render(PrtContext.java:408)
at com.sapportals.htmlb.page.DynPage.doOutput(DynPage.java:238)
at com.sapportals.wcm.portal.component.base.KMControllerDynPage.doOutput(KMControllerDynPage.java:134)
at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:133)
at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:134)
at com.sapportals.wcm.portal.component.base.ControllerComponent.doContent(ControllerComponent.java:88)
at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:645)
at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:249)
at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:557)
at java.security.AccessController.doPrivileged(Native Method)
at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:430)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1064)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)Hi Vijay,
Thanks for the quick reply.
I have gone through the notes 1535201 & now on 1606563 after your advise.
Both the notes says the fix is available on 7.01 after SP 07 and we are on SP 14 already.
Also just in case I did checked with our basis and they confirmed we are a head and we have the above notes in our release already.
Unfortunately the notes are not the solution to the investigation till date.
Thanks,
Sai
Maybe you are looking for
-
Creating headers and footers in the portal
i had created a simple portal and modified the shell file inside the framework dir, include the path of the header.jsp which is inside the support dir form the shell file. But i didnt get the header part when i run the portal Why didnt i get the head
-
hi, can any body pls send me configuration steps for asset under costruction in detail.pls i am i need of it. points will be awarded swathi
-
Deployment order in 6.0
I'm sure this has been covered before but is there anyway to dictate the deployment order of EJB's contained in a single EAR file? Or does WL use some default scheme - alphanumeric sorting, order in the applications.xml file?? Thanks Tom
-
I forget my answer the question
I forget the answer for the question how i can change the abseer ir reset
-
How to turn of calling landlines?
Please help me! I'm trying to call my cousins phone with skype, and i accidentally turned oninternational calling (I selected U.S since i figured it would reset it.) And tried calling them, but the pop up telling me to buy a sub or whatever wont stop