Matt Magoffin
unread,Jun 25, 2018, 6:17:11 PM6/25/18Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Kill Bill users mailing-list
Hello,
I am experiencing an odd NullPointerException when a specific invoice is getting generated. The logs contain messages like this:
-----
2018-06-25 19:03:43,743 [notifications-th] INFO o.k.b.i.g.FixedAndRecurringInvoiceItemGenerator - Proposed fixed items for invoiceId='28422a57-97f3-49b3-861b-a622b733249d', accountId='da79d513-0fc4-4dde-92c7-12ae7bf4cb88'
DefaultBillingEvent{type=CREATE, effectiveDate=2017-07-24T19:02:31.000Z, planPhaseName=api-posted-datum-metric-monthly-usage-trial, subscriptionId=8d8962ef-fde9-46c7-b4b8-9888296e8cee, totalOrdering=111}
FIXED{startDate=2017-07-25, endDate=null, amount=0.00, rate=null, subscriptionId=8d8962ef-fde9-46c7-b4b8-9888296e8cee, linkedItemId=null}
DefaultBillingEvent{type=CREATE, effectiveDate=2016-05-02T19:02:31.000Z, planPhaseName=api-posted-datum-metric-monthly-usage-trial, subscriptionId=a909e162-20a8-4c8a-9bb0-c7feefcba747, totalOrdering=105}
FIXED{startDate=2016-05-03, endDate=null, amount=0.00, rate=null, subscriptionId=a909e162-20a8-4c8a-9bb0-c7feefcba747, linkedItemId=null}
DefaultBillingEvent{type=CREATE, effectiveDate=2016-12-22T19:02:31.000Z, planPhaseName=api-posted-datum-metric-monthly-usage-trial, subscriptionId=c29f7152-ac5b-455a-81fb-ed80af000ab8, totalOrdering=109}
FIXED{startDate=2016-12-23, endDate=null, amount=0.00, rate=null, subscriptionId=c29f7152-ac5b-455a-81fb-ed80af000ab8, linkedItemId=null}
DefaultBillingEvent{type=CREATE, effectiveDate=2016-11-03T19:02:31.000Z, planPhaseName=api-posted-datum-metric-monthly-usage-trial, subscriptionId=f8f3854a-2553-4f1b-80c5-16583140abf6, totalOrdering=107}
FIXED{startDate=2016-11-04, endDate=null, amount=0.00, rate=null, subscriptionId=f8f3854a-2553-4f1b-80c5-16583140abf6, linkedItemId=null}
DefaultBillingEvent{type=CREATE, effectiveDate=2014-07-02T19:02:31.000Z, planPhaseName=api-posted-datum-metric-monthly-usage-trial, subscriptionId=05518b8d-5547-4b7f-b0dc-15eb41e50c7f, totalOrdering=103}
FIXED{startDate=2014-07-03, endDate=null, amount=0.00, rate=null, subscriptionId=05518b8d-5547-4b7f-b0dc-15eb41e50c7f, linkedItemId=null}
DefaultBillingEvent{type=CREATE, effectiveDate=2017-08-16T19:02:31.000Z, planPhaseName=api-posted-datum-metric-monthly-usage-trial, subscriptionId=6e1145b4-6649-4186-81ab-298f62f6bc3e, totalOrdering=113}
FIXED{startDate=2017-08-17, endDate=null, amount=0.00, rate=null, subscriptionId=6e1145b4-6649-4186-81ab-298f62f6bc3e, linkedItemId=null}
2018-06-25 19:03:43,782 [notifications-th] INFO o.k.q.d.CallableCallbackBase - Dispatch error, will attempt a retry
org.killbill.notificationq.NotificationQueueException: java.lang.NullPointerException
at org.killbill.notificationq.NotificationQueueDispatcher.handleNotificationWithMetrics(NotificationQueueDispatcher.java:205)
at org.killbill.notificationq.dispatching.NotificationCallableCallback.dispatch(NotificationCallableCallback.java:51)
at org.killbill.notificationq.dispatching.NotificationCallableCallback.dispatch(NotificationCallableCallback.java:32)
at org.killbill.queue.dispatching.Dispatcher$CallableQueue.call(Dispatcher.java:103)
at org.killbill.queue.dispatching.Dispatcher$CallableQueue.call(Dispatcher.java:86)
at org.killbill.commons.concurrent.WrappedCallable.call(WrappedCallable.java:42)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.killbill.commons.concurrent.WrappedRunnable.run(WrappedRunnable.java:48)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException: null
-----
Eventually, the system gives up with
-----
ERROR o.k.q.d.CallableCallbackBase - Fatal NotificationQ dispatch error, data corruption...
org.killbill.notificationq.NotificationQueueException: java.lang.NullPointerException
at org.killbill.notificationq.NotificationQueueDispatcher.handleNotificationWithMetrics(NotificationQueueDispatcher.java:205)
at org.killbill.notificationq.dispatching.NotificationCallableCallback.dispatch(NotificationCallableCallback.java:51)
at org.killbill.notificationq.dispatching.NotificationCallableCallback.dispatch(NotificationCallableCallback.java:32)
at org.killbill.queue.dispatching.Dispatcher$CallableQueue.call(Dispatcher.java:103)
at org.killbill.queue.dispatching.Dispatcher$CallableQueue.call(Dispatcher.java:86)
at org.killbill.commons.concurrent.WrappedCallable.call(WrappedCallable.java:42)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.killbill.commons.concurrent.WrappedRunnable.run(WrappedRunnable.java:48)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException: null
-----
This is Killbill version 0.8.12, using Killbill Commons 0.20.11, where line NotificationQueueDispatcher.java:205 is just a re-throw of the original exception. There is no stacktrace included with the NPE, however, so I am wondering a couple of things:
1) How might I best track down where that NPE is happening? This is a production system, so I am slightly constrained in what I can do to it.
2) Is there a way to get Killbill to re-try generating this invoice, now that it has given up re-trying?
Thanks for any help,
Matt