kpm diagnostic tool fails when there are no records in the tenant_kvs table with certain keys
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
Research direction
Start with the kpm diagnostic flow in tenant_config.rb, diagnostic_file.rb, and tasks.rb, using the reported kpm diagnostic command to reproduce the failure. Trace how missing tenant_kvs keys are handled and verify the diagnostic completes when those records are inactive or absent.
Written by the indexing model from the issue text.
Description
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:
- Create a new tenant. This will insert a record in the
tenant_kvstable with the keyCATALOG - Mark the record from the
tenant_kvstable as in_active (Runupdate tenant_kvs set is_active=0 where tenant_record_id=<id here>;) - 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
- 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>'
- Dominant language
- Ruby
- Stars
- 68
- Forks
- 94
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 3
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from killbill/killbill-cloud
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
killbill/killbill-cloud#265 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 50/100
killbill/killbill-cloud#302 ·
-
Support for Maven CentralMay be free again @tungleduyxyz claimed this 388 days ago, and no pull request is open. Open
killbill/killbill-cloud#291 · 1 assignee ·
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
killbill/killbill-cloud#283 · 1 comment ·
-
enhancement KPM
Difficulty 4/5 3-5 days Newbie friendliness 38/100
killbill/killbill-cloud#282 ·
All issues in killbill/killbill-cloud
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
rubygems/rubygems.org#6895 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
rom-rb/rom-factory#99 ·
-
accessibility
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
slovensko-digital/autogram-portal#370 · 3 comments ·
Maintainers usually reply within 21 days
-
needs triage
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 5 days
-
security
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day