Incorrect use a catalog api leads to `Could not find a plan matching spec`
还没有人认领这个 Issue。
评估
- 难度
- 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 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
killbill/killbill-analytics-plugin 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 45/100
-
难度 4/5 3-5 天 新手友好度 35/100
-
难度 4/5 3-5 天 新手友好度 30/100
-
难度 5/5 一周以上 新手友好度 20/100
-
难度 4/5 3-5 天 新手友好度 30/100
killbill/killbill-analytics-plugin#163 · 1 条评论 ·
查看 killbill/killbill-analytics-plugin 的全部 Issue
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
难度 1/5 1-3 小时 新手友好度 85/100
hibernate/hibernate-reactive#4485 ·
维护者通常 1 天内回复
-
type: dependency-upgrade
难度 2/5 1-3 小时 新手友好度 61/100
spring-projects/spring-graphql#1556 ·
-
hermes-queue
难度 1/5 1 小时以内 新手友好度 91/100
chrisalunlloyd2-sudo/mindpalace#373 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复