Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

kpm diagnostic tool fails when there are no records in the tenant_kvs table with certain keys #263

Open
reshmabidikar opened this issue Apr 5, 2024 · 1 comment

Comments

@reshmabidikar
Copy link
Contributor

The kpm diagnostic tool fails when there are no records in the tenant_kvs table with the following keys:

PLUGIN_CONFIG PUSH_NOTIFICATION_CB PER_TENANT_CONFIG PLUGIN_PAYMENT_STATE_MACHINE CATALOG OVERDUE_CONFIG INVOICE_TRANSLATION CATALOG_TRANSLATION INVOICE_TEMPLATE INVOICE_MP_TEMPLATE

Steps to reproduce:

  1. Create a new tenant. This will insert a record in the tenant_kvs table with the key CATALOG
  2. Mark the record from the tenant_kvs table as in_active (Run update tenant_kvs set is_active=0 where tenant_record_id=<id here>; )
  3. Run the kpm diagnostic tool as follows:
kpm diagnostic --killbill-api-credentials=<api key> <api secret> --account-export=<account id> --killbill-url http://localhost:8080
  1. This displays the following error:
I, [2024-04-05T14:12:08.319099 #28696]  INFO -- : Retrieving tenant configuration
E, [2024-04-05T14:12:11.075882 #28696] ERROR -- : Data for key_prefix= not found
E, [2024-04-05T14:12:11.077854 #28696] ERROR -- : D:/Software/Ruby27-x64/lib/ruby/gems/2.7.0/gems/kpm-0.11.1/lib/kpm/tenant_config.rb:44:in `export'
D:/Software/Ruby27-x64/lib/ruby/gems/2.7.0/gems/kpm-0.11.1/lib/kpm/diagnostic_file.rb:85:in `retrieve_tenant_config'
D:/Software/Ruby27-x64/lib/ruby/gems/2.7.0/gems/kpm-0.11.1/lib/kpm/diagnostic_file.rb:47:in `export_data'
D:/Software/Ruby27-x64/lib/ruby/gems/2.7.0/gems/kpm-0.11.1/lib/kpm/tasks.rb:577:in `diagnostic'
D:/Software/Ruby27-x64/lib/ruby/gems/2.7.0/gems/thor-1.2.1/lib/thor/command.rb:27:in `run'
D:/Software/Ruby27-x64/lib/ruby/gems/2.7.0/gems/thor-1.2.1/lib/thor/invocation.rb:127:in `invoke_command'
D:/Software/Ruby27-x64/lib/ruby/gems/2.7.0/gems/thor-1.2.1/lib/thor.rb:392:in `dispatch'
D:/Software/Ruby27-x64/lib/ruby/gems/2.7.0/gems/thor-1.2.1/lib/thor/base.rb:485:in `start'
D:/Software/Ruby27-x64/lib/ruby/gems/2.7.0/gems/kpm-0.11.1/bin/kpm:8:in `<top (required)>'
D:/Software/Ruby27-x64/bin/kpm:23:in `load'
D:/Software/Ruby27-x64/bin/kpm:23:in `<main>'
@reshmabidikar
Copy link
Contributor Author

By default, the diagnostic tool tries to export the data for the keys defined here. Since none of these keys exist in the tenant_kvs table, the tool fails.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant