NPE in /bundles/pagination API call

32 views
Skip to first unread message

Simon Dif

unread,
Dec 2, 2021, 6:00:49 AM12/2/21
to Kill Bill users mailing-list
Hello,
we are facing a NPE in the KillBill stack when fetching the list of bundles.
Kill Bill version 0.22.21 deployed in Kubernetes

Here are the logs on server side:

{"@timestamp":"2021-12-02T10:22:59.692Z","message":"Unexpected NullPointerException","logger_name":"org.killbill.billing.jaxrs.mappers.RuntimeExceptionMapper","thread_name":"catalina-exec-2","level":"WARN","req.requestURI":"/1.0/kb/bundles/pagination","req.queryString":"offset=0&limit=100&audit=NONE","kb.tenantRecordId":"1","req.method":"GET","kb.accountRecordId":"1","req.remoteHost":"x","req.requestURL":"http://kill-bill.kube-namespace/1.0/kb/bundles/pagination","req.userAgent":"KillBill-JavaClient/1.0","stack_trace":"
java.lang.NullPointerException: null
at org.killbill.billing.subscription.api.user.DefaultSubscriptionBase.getSourceType(DefaultSubscriptionBase.java:196)
at org.killbill.billing.entitlement.api.DefaultEntitlement.getSourceType(DefaultEntitlement.java:253)
at org.killbill.billing.jaxrs.json.SubscriptionJson.<init>(SubscriptionJson.java:389)
at org.killbill.billing.jaxrs.json.BundleJson.<init>(BundleJson.java:70)
at org.killbill.billing.jaxrs.resources.BundleResource$1.apply(BundleResource.java:208)
at org.killbill.billing.jaxrs.resources.BundleResource$1.apply(BundleResource.java:199)
at org.killbill.billing.jaxrs.resources.JaxRsResourceBase$3.write(JaxRsResourceBase.java:347)
at org.glassfish.jersey.message.internal.StreamingOutputProvider.writeTo(StreamingOutputProvider.java:55)
..."}


and extracts from the DB:

MariaDB [killbill]> select * from bundles;
+-----------+--------------------------------------+--------------------------------------+--------------------------------------+----------------------+-----------------------+---------------------------+---------------------+---------------------------+---------------------+-------------------+------------------+
| record_id | id                                   | external_key                         | account_id                           | last_sys_update_date | original_created_date | created_by                | created_date        | updated_by                | updated_date        | account_record_id | tenant_record_id |
+-----------+--------------------------------------+--------------------------------------+--------------------------------------+----------------------+-----------------------+---------------------------+---------------------+---------------------------+---------------------+-------------------+------------------+
|         1 | 1f862353-2223-4b79-94a9-dfbe63f6e2c1 | 1f862353-2223-4b79-94a9-dfbe63f6e2c1 | 5a453b8a-4bf0-4b95-8743-97ccb6d4725d | 2021-12-01 16:36:00  | 2021-12-01 16:36:00   | microserviceA | 2021-12-01 16:36:00 | microserviceA | 2021-12-01 16:36:00 |                 1 |                1 |
|         2 | 683b8df9-571d-4a3d-a5b3-6774a44f327d | 683b8df9-571d-4a3d-a5b3-6774a44f327d | 5a453b8a-4bf0-4b95-8743-97ccb6d4725d | 2021-12-01 16:38:53  | 2021-12-01 16:38:53   | microserviceA | 2021-12-01 16:38:53 | microserviceA | 2021-12-01 16:38:53 |                 1 |                1 |
+-----------+--------------------------------------+--------------------------------------+--------------------------------------+----------------------+-----------------------+---------------------------+---------------------+---------------------------+---------------------+-------------------+------------------+
2 rows in set (0.000 sec)

MariaDB [killbill]> select * from subscriptions;
+-----------+--------------------------------------+--------------------------------------+--------------------------------------+----------+---------------------+---------------------+----------------------+----------+---------------------------+---------------------+---------------------------+---------------------+-------------------+------------------+
| record_id | id                                   | bundle_id                            | external_key                         | category | start_date          | bundle_start_date   | charged_through_date | migrated | created_by                | created_date        | updated_by                | updated_date        | account_record_id | tenant_record_id |
+-----------+--------------------------------------+--------------------------------------+--------------------------------------+----------+---------------------+---------------------+----------------------+----------+---------------------------+---------------------+---------------------------+---------------------+-------------------+------------------+
|         1 | 9fbb76ae-a3ee-46fa-ae23-3469ca76e5cb | 1f862353-2223-4b79-94a9-dfbe63f6e2c1 | 9fbb76ae-a3ee-46fa-ae23-3469ca76e5cb | BASE     | 2021-12-01 16:35:14 | 2021-12-01 16:35:14 | NULL                 |        0 | microserviceA | 2021-12-01 16:36:00 | microserviceA | 2021-12-01 16:36:00 |                 1 |                1 |
|         2 | 42625a28-4ba9-4b8e-a0c4-4ccdd0c317fa | 683b8df9-571d-4a3d-a5b3-6774a44f327d | 42625a28-4ba9-4b8e-a0c4-4ccdd0c317fa | BASE     | 2021-12-01 16:35:14 | 2021-12-01 16:35:14 | NULL                 |        0 | microserviceA | 2021-12-01 16:38:53 | microserviceA | 2021-12-01 16:38:53 |                 1 |                1 |
+-----------+--------------------------------------+--------------------------------------+--------------------------------------+----------+---------------------+---------------------+----------------------+----------+---------------------------+---------------------+---------------------------+---------------------+-------------------+------------------+
2 rows in set (0.000 sec)

MariaDB [killbill]> select * from subscription_events;
+-----------+--------------------------------------+------------+-----------+---------------------+--------------------------------------+--------------------------+------------------------------------+-----------------+-------------------------+-----------+---------------------------+---------------------+---------------------------+---------------------+-------------------+------------------+
| record_id | id                                   | event_type | user_type | effective_date      | subscription_id                      | plan_name                | phase_name                         | price_list_name | billing_cycle_day_local | is_active | created_by                | created_date        | updated_by                | updated_date        | account_record_id | tenant_record_id |
+-----------+--------------------------------------+------------+-----------+---------------------+--------------------------------------+--------------------------+------------------------------------+-----------------+-------------------------+-----------+---------------------------+---------------------+---------------------------+---------------------+-------------------+------------------+
|         1 | f2a7120a-6168-40eb-8eba-5ffe79a64325 | API_USER   | CREATE    | 2021-12-01 16:35:14 | 9fbb76ae-a3ee-46fa-ae23-3469ca76e5cb | planA | planA-trial     | DEFAULT         |                       0 |         0 | microserviceA | 2021-12-01 16:36:00 | microserviceA | 2021-12-01 16:36:08 |                 1 |                1 |
|         2 | edbc3377-5bdf-4f03-8a9c-fc7f23191bd2 | BCD_UPDATE | NULL      | 2021-12-01 16:35:14 | 9fbb76ae-a3ee-46fa-ae23-3469ca76e5cb | NULL                     | NULL                               | NULL            |                       1 |         1 | microserviceA | 2021-12-01 16:36:00 | microserviceA | 2021-12-01 16:36:00 |                 1 |                1 |
|         3 | 3dbdf79f-a621-480b-a5da-ae19d6e4dff0 | PHASE      | NULL      | 2022-01-01 16:35:14 | 9fbb76ae-a3ee-46fa-ae23-3469ca76e5cb | NULL                     | planA-evergreen | NULL            |                       0 |         0 | microserviceA | 2021-12-01 16:36:00 | microserviceA | 2021-12-01 16:36:08 |                 1 |                1 |
|         4 | cd2c5ee4-0797-4ea2-8579-80389f4453a3 | API_USER   | CREATE    | 2021-12-01 16:35:14 | 9fbb76ae-a3ee-46fa-ae23-3469ca76e5cb | planB     | planB-trial         | DEFAULT         |                       0 |         1 | microserviceA | 2021-12-01 16:36:08 | microserviceA | 2021-12-01 16:36:08 |                 1 |                1 |
|         5 | 9baafca9-fa3f-42b4-a5a0-20c4aca85b79 | BCD_UPDATE | NULL      | 2021-12-01 16:35:14 | 9fbb76ae-a3ee-46fa-ae23-3469ca76e5cb | NULL                     | NULL                               | NULL            |                       1 |         1 | microserviceA | 2021-12-01 16:36:08 | microserviceA | 2021-12-01 16:36:08 |                 1 |                1 |
|         6 | dd13f525-8f0e-40f0-84d4-8b324ee1a18e | PHASE      | NULL      | 2022-01-01 16:35:14 | 9fbb76ae-a3ee-46fa-ae23-3469ca76e5cb | NULL                     | planB-evergreen     | NULL            |                       0 |         1 | microserviceA | 2021-12-01 16:36:08 | microserviceA | 2021-12-01 16:36:08 |                 1 |                1 |
|         7 | ef63fadf-d4ca-4def-807e-84fda63d15f6 | API_USER   | CREATE    | 2021-12-01 16:35:14 | 42625a28-4ba9-4b8e-a0c4-4ccdd0c317fa | planA | planA-trial     | DEFAULT         |                       0 |         1 | microserviceA | 2021-12-01 16:38:53 | microserviceA | 2021-12-01 16:38:53 |                 1 |                1 |
|         8 | 937f839b-5ada-4c1f-a5fd-ca57fee3d6f8 | BCD_UPDATE | NULL      | 2021-12-01 16:35:14 | 42625a28-4ba9-4b8e-a0c4-4ccdd0c317fa | NULL                     | NULL                               | NULL            |                       1 |         1 | microserviceA | 2021-12-01 16:38:53 | microserviceA | 2021-12-01 16:38:53 |                 1 |                1 |
|         9 | 26c68821-f1cd-44b7-9850-e77ac9b0e048 | PHASE      | NULL      | 2022-01-01 16:35:14 | 42625a28-4ba9-4b8e-a0c4-4ccdd0c317fa | NULL                     | planA-evergreen | NULL            |                       0 |         1 | microserviceA | 2021-12-01 16:38:53 | microserviceA | 2021-12-01 16:38:53 |                 1 |                1 |
+-----------+--------------------------------------+------------+-----------+---------------------+--------------------------------------+--------------------------+------------------------------------+-----------------+-------------------------+-----------+---------------------------+---------------------+---------------------------+---------------------+-------------------+------------------+
9 rows in set (0.000 sec)


I found a GitHub issue mentioning the same stacktrace:
https://github.hode.uk/killbill/killbill/issues/1511#issuecomment-934956416
but not sure whether it is the same root cause.

Thanks,
Simon

Pierre-Alexandre Meyer

unread,
Dec 3, 2021, 1:05:10 PM12/3/21
to Simon Dif, Kill Bill users mailing-list
Hi Simon,

Could you verify if this still happens on 0.22.27?

If it does, can you send us some steps (e.g. series of cURL) to recreate the issue?

Thanks!


--
You received this message because you are subscribed to the Google Groups "Kill Bill users mailing-list" group.
To unsubscribe from this group and stop receiving emails from it, send an email to killbilling-us...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/killbilling-users/0b58c719-e51f-4681-8bce-9c439910cbfan%40googlegroups.com.


--
Pierre
Reply all
Reply to author
Forward
0 new messages