[ 
https://issues.apache.org/jira/browse/OPENJPA-2906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17706594#comment-17706594
 ] 

Aditya Holikatti commented on OPENJPA-2906:
-------------------------------------------

Hi Maxim,

The flow is as follows:
{code:java}
 1)  Listener.java

    setTaskStatus(long status) {
        task.setStatus(status);
        entitiesMediator.updateTask(task);
        ...
    }{code}
{code:java}
 2)  EntitiesMediator.java 
    
    updateTask(Task task){
        EntityManager em = getEntityManager();
        em.getTransaction().begin();
        task = em.merge(task);
        em.flush();
        em.getTransaction().commit();
        return;
    } {code}
The argument passed to setTaskStatus is one of a few possible variables of long 
datatype. 
{code:java}
    // Task status
    long TASK_STATUS_INIT = 2L;
    long TASK_STATUS_PENDING = 4L;
    long TASK_STATUS_PAUSING = 8L;
    long TASK_STATUS_STARTED = 16L;
    long TASK_STATUS_COMPLETED = 32L;
    long TASK_STATUS_PAUSED = 64L;
    long TASK_STATUS_FAILED = 128L;
    long TASK_STATUS_SCHEDULED = 256L; {code}

The rest of the instance variables of the task object are not modified and do 
not throw an issue when the updateTask() is called in other places. 

Is there any tracing I can enable to identify the value it is trying to cast?



 

> ClassCastException - java.lang.Long incompatible with java.lang.String
> ----------------------------------------------------------------------
>
>                 Key: OPENJPA-2906
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2906
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jpa
>    Affects Versions: 2.2.0
>            Reporter: Aditya Holikatti
>            Priority: Minor
>
> An attempt to update a table results in the error below. This behaviour is 
> erratic and the error occurs about once every 3 attempts. There is no pattern 
> or environmental factor I have been able to isolate.  Please let me know what 
> diagnostics I can collect.
> {code:java}
>  WARNING: Unexpected
> <openjpa-2.2.3-SNAPSHOT-r172c084 nonfatal general error> 
> org.apache.openjpa.persistence.PersistenceException: java.lang.Long 
> incompatible with java.lang.String
> FailedObject: com.ibm.ecm.task.entities.Task-17801 [java.lang.String]
>     at org.apache.openjpa.kernel.BrokerImpl.attach(BrokerImpl.java:3499)
>     at 
> org.apache.openjpa.kernel.DelegatingBroker.attach(DelegatingBroker.java:1214)
>     at 
> org.apache.openjpa.persistence.EntityManagerImpl.merge(EntityManagerImpl.java:878)
>     at 
> com.ibm.ecm.task.entities.controller.EntitiesMediator.updateTask(EntitiesMediator.java:2212)
>     ...
>     at com.ibm.ws.asynchbeans.ScheduledTask.call(ScheduledTask.java:500)
>     at 
> com.ibm.ws.asynchbeans.ScheduledTask.runListenerAsCJWork(ScheduledTask.java:756)
>     at com.ibm.ws.asynchbeans.am._Alarm.fireAlarm(_Alarm.java:340)
>     at com.ibm.ws.asynchbeans.am._Alarm.run(_Alarm.java:237)
>     at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1909)
> Caused by: java.lang.ClassCastException: java.lang.Long incompatible with 
> java.lang.String
>     at 
> org.apache.openjpa.kernel.DetachedStateManager.attach(DetachedStateManager.java:260)
>     at org.apache.openjpa.kernel.AttachManager.attach(AttachManager.java:252)
>     at org.apache.openjpa.kernel.AttachManager.attach(AttachManager.java:105)
>     at org.apache.openjpa.kernel.BrokerImpl.attach(BrokerImpl.java:3492)
>     ... 10 moreNov 12, 2021 4:13:30 PM TaskStatusListenerJCA setTaskStatus
> SEVERE: setTaskStatus
> java.lang.RuntimeException: <openjpa-2.2.3-SNAPSHOT-r172c084 nonfatal general 
> error> org.apache.openjpa.persistence.PersistenceException: java.lang.Long 
> incompatible with java.lang.String
> FailedObject: com.ibm.ecm.task.entities.Task-17801 [java.lang.String]
>     at 
> com.ibm.ecm.task.entities.controller.EntitiesMediator.updateTask(EntitiesMediator.java:2262)
>     ...
>     at com.ibm.ws.asynchbeans.ScheduledTask.call(ScheduledTask.java:500)
>     at 
> com.ibm.ws.asynchbeans.ScheduledTask.runListenerAsCJWork(ScheduledTask.java:756)
>     at com.ibm.ws.asynchbeans.am._Alarm.fireAlarm(_Alarm.java:340)
>     at com.ibm.ws.asynchbeans.am._Alarm.run(_Alarm.java:237)
>     at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1909)
> Caused by: <openjpa-2.2.3-SNAPSHOT-r172c084 nonfatal general error> 
> org.apache.openjpa.persistence.PersistenceException: java.lang.Long 
> incompatible with java.lang.String
> FailedObject: com.ibm.ecm.task.entities.Task-17801 [java.lang.String]
>     at org.apache.openjpa.kernel.BrokerImpl.attach(BrokerImpl.java:3499)
>     at 
> org.apache.openjpa.kernel.DelegatingBroker.attach(DelegatingBroker.java:1214)
>     at 
> org.apache.openjpa.persistence.EntityManagerImpl.merge(EntityManagerImpl.java:878)
>     at 
> com.ibm.ecm.task.entities.controller.EntitiesMediator.updateTask(EntitiesMediator.java:2212)
>     ... 7 more
> Caused by: java.lang.ClassCastException: java.lang.Long incompatible with 
> java.lang.String
>     at 
> org.apache.openjpa.kernel.DetachedStateManager.attach(DetachedStateManager.java:260)
>     at org.apache.openjpa.kernel.AttachManager.attach(AttachManager.java:252)
>     at org.apache.openjpa.kernel.AttachManager.attach(AttachManager.java:105)
>     at org.apache.openjpa.kernel.BrokerImpl.attach(BrokerImpl.java:3492)
>     ... 10 more {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to