-
Notifications
You must be signed in to change notification settings - Fork 5
Open
Labels
bug?Potentially a bugPotentially a bug
Description
Describe the bug
We see occasional NullPointerException
s propagated out of the recurly-client-java
. The relevant observed stack trace is:
java.util.concurrent.ExecutionException: java.lang.NullPointerException: Cannot invoke "com.recurly.v3.Pager.getNext()" because "pager" is null
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
at com.sproutsocial.revenue.internal.account.v1.service.AccountServiceImpl.getAccountResponse(AccountServiceImpl.java:872)
at com.sproutsocial.revenue.internal.account.v1.service.AccountServiceImpl.getAccountsBatches(AccountServiceImpl.java:281)
at com.sproutsocial.revenue.internal.account.v1.service.AccountServiceImpl.lambda$getAccounts$0(AccountServiceImpl.java:239)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at com.sproutsocial.revenue.commons.multithreading.MdcThreadPoolExecutor$1.run(MdcThreadPoolExecutor.java:99)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.lang.NullPointerException: Cannot invoke "com.recurly.v3.Pager.getNext()" because "pager" is null
at com.recurly.v3.Pager.clone(Pager.java:93)
at com.recurly.v3.Pager.getNextPage(Pager.java:89)
at com.sproutsocial.revenue.internal.client.RecurlyClientImpl.executePaginatedQueryInEnv(RecurlyClientImpl.java:740)
at com.sproutsocial.revenue.internal.client.RecurlyClientImpl.getPaginatedEntitiesById(RecurlyClientImpl.java:685)
at com.sproutsocial.revenue.internal.client.RecurlyClientImpl.listInvoicesByAccountCode(RecurlyClientImpl.java:536)
at com.sproutsocial.revenue.internal.account.v1.service.AccountServiceImpl.lambda$getAccountResponse$6(AccountServiceImpl.java:835)
... 5 common frames omitted
Specifically of note:
Caused by: java.lang.NullPointerException: Cannot invoke "com.recurly.v3.Pager.getNext()" because "pager" is null
at com.recurly.v3.Pager.clone(Pager.java:93)
at com.recurly.v3.Pager.getNextPage(Pager.java:89)
Our theory is some sort of network exception prevents this.client.makeRequest from returning an instantiated pager
object, leading to the NullPointerException within the clone method.
To Reproduce
This does not happen consistently or often (the rate has been a few times a month). Given the stack trace, this bug appears to be entirely within the context of the recurly-client-java
code.
Expected behavior
The recurly java client does not encounter NullPointerException
s, causing failed transactions.
Your Environment
- Which version of this library are you using?
<dependency>
<groupId>com.recurly.v3</groupId>
<artifactId>api-client</artifactId>
<version>4.51.0</version>
<exclusions>
<exclusion>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</exclusion>
</exclusions>
</dependency>
- Which version of the language are you using?
Java 17
Metadata
Metadata
Assignees
Labels
bug?Potentially a bugPotentially a bug