Incorrect use a catalog api leads to `Could not find a plan matching spec`
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 30/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- java
調査の方向性
Start with BusinessFactoryBase.getPlanPhaseFromInvoiceItem and trace the call path through BusinessContextFactory and BusinessInvoiceFactory shown in the stack trace. Reproduce the reported sequence: create a subscription with a V1 plan, switch to a V2 catalog without that plan, then advance the clock to the next invoicing period. Done means this scenario no longer causes the analytics plugin to throw the reported catalog-plan exception.
索引モデルが issue の本文から書いたものです。
説明
The issue was reported on the mailing list, and i could easily reproduce it:
- Define a plan in catalog V1 and create the subscription -> OK
- Define a catalog with V2 without that plan -> Ok
- Move clock to reach next invoicing period -> analytics plugin throws stack trace
org.apache.felix.log.LogException: org.killbill.billing.catalog.api.CatalogApiException: Could not find a plan matching spec: (plan: 'MALTESTPRODUCT_MONTHLY', product: 'undefined', billing period: 'undefined', pricelist 'undefined')
at org.killbill.billing.catalog.VersionedCatalog.findCatalogPlanEntry(VersionedCatalog.java:186)
at org.killbill.billing.catalog.VersionedCatalog.findPlan(VersionedCatalog.java:301)
at org.killbill.billing.catalog.VersionedCatalog.findPhase(VersionedCatalog.java:332)
at org.killbill.billing.plugin.analytics.dao.factory.BusinessFactoryBase.getPlanPhaseFromInvoiceItem(BusinessFactoryBase.java:381)
at org.killbill.billing.plugin.analytics.dao.factory.BusinessContextFactory.getPlanPhaseFromInvoiceItem(BusinessContextFactory.java:401)
at org.killbill.billing.plugin.analytics.dao.factory.BusinessInvoiceFactory.createBusinessInvoiceItem(BusinessInvoiceFactory.java:244)
at org.killbill.billing.plugin.analytics.dao.factory.BusinessInvoiceFactory.createBusinessInvoiceItem(BusinessInvoiceFactory.java:190)
at org.killbill.billing.plugin.analytics.dao.factory.BusinessInvoiceFactory.access$000(BusinessInvoiceFactory.java:65)
at org.killbill.billing.plugin.analytics.dao.factory.BusinessInvoiceFactory$1.call(BusinessInvoiceFactory.java:117)
at org.killbill.billing.plugin.analytics.dao.factory.BusinessInvoiceFactory$1.call(BusinessInvoiceFactory.java:114)
- 主要言語
- Java
- スター
- 13
- フォーク
- 33
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
killbill/killbill-analytics-plugin のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
-
Automation analysisオープン
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
killbill/killbill-analytics-plugin#163 · コメント 1 件 ·
killbill/killbill-analytics-plugin の issue をすべて見る
似ている issue
-
hermes-queue
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
chrisalunlloyd2-sudo/mindpalace#373 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
bug priority: lowest
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
SkriptLang/Skript#8953 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
quality-assurance
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
Paul-Austin-Oswego-CSC480-HCI521/gift-app#228 ·
メンテナーはふだん 1 日以内に返信
-
[java] TestClassWithoutTestCases: document that abstract classes and interfaces are not checkedオープン
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
メンテナーはふだん 2 日以内に返信