You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Corina Roman (Jira)" <ji...@apache.org> on 2020/10/21 09:41:00 UTC

[jira] [Created] (CAMEL-15723) NPE when using PostgresAggregationRepository

Corina Roman created CAMEL-15723:
------------------------------------

             Summary: NPE when using PostgresAggregationRepository
                 Key: CAMEL-15723
                 URL: https://issues.apache.org/jira/browse/CAMEL-15723
             Project: Camel
          Issue Type: Bug
          Components: camel-sql
    Affects Versions: 3.4.2
         Environment: * Apache Camel 3.4.2
 * Spring Boot 2.3.4.RELEASE
 * Postgres database as an aggregate repository
            Reporter: Corina Roman


Hi,

we are getting production errors (NPE) when using a Postgres aggregate repository and Camel code attempts to write to that table (under concurrent use):
{noformat}
org.apache.camel.RuntimeCamelException: java.lang.RuntimeException: Error adding to repository lb_data_uploads with key *** at org.apache.camel.RuntimeCamelException.wrapRuntimeCamelException(RuntimeCamelException.java:52) at org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.add(JdbcAggregationRepository.java:142) at org.apache.camel.processor.aggregate.AggregateProcessor.doAggregationRepositoryAdd(AggregateProcessor.java:644) at org.apache.camel.processor.aggregate.AggregateProcessor.doAggregation(AggregateProcessor.java:598) at org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:406) at org.apache.camel.processor.aggregate.AggregateProcessor.doInOptimisticLock(AggregateProcessor.java:372) at org.apache.camel.processor.aggregate.AggregateProcessor.doProcess(AggregateProcessor.java:362) at org.apache.camel.processor.aggregate.AggregateProcessor.process(AggregateProcessor.java:320) at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.doRun(RedeliveryErrorHandler.java:702) at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$RedeliveryTask.run(RedeliveryErrorHandler.java:616) at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148) at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:60) at org.apache.camel.processor.Pipeline.process(Pipeline.java:147) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:286) at org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:83) at org.apache.camel.support.AsyncProcessorSupport.process(AsyncProcessorSupport.java:40) at org.apache.camel.component.kafka.KafkaConsumer$KafkaFetchRecords.doRun(KafkaConsumer.java:346) at org.apache.camel.component.kafka.KafkaConsumer$KafkaFetchRecords.run(KafkaConsumer.java:222) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834) Caused by: java.lang.RuntimeException: Error adding to repository lb_data_uploads with key *** at org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository$1.doInTransaction(JdbcAggregationRepository.java:176) at org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository$1.doInTransaction(JdbcAggregationRepository.java:149) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140) at org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.add(JdbcAggregationRepository.java:149) at org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository.add(JdbcAggregationRepository.java:137) ... 21 common frames omitted Caused by: java.lang.NullPointerException: null at org.apache.camel.processor.aggregate.jdbc.JdbcAggregationRepository$1.doInTransaction(JdbcAggregationRepository.java:167) ... 25 common frames omitted{noformat}
 

The problematic code seems to be at *JdbcAggregationRepository.java* line 167:
{noformat}
private static final String VERSION_PROPERTY = "CamelOptimisticLockVersion";
....
long version = exchange.getProperty(VERSION_PROPERTY, Long.class);
{noformat}
 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)