Skip to content

*bug report* ProcessorSlot的Spi中的isSingleton = false设置不生效 #3007

Description

@hulalaga

Issue Description

Type: bug report

Describe what happened (or what feature you want)

当在非单例模式的ProcessorSlot(A)前加一个单例模式的ProcessorSlot(B)后,所有ProcessorSlotChain中B的next都会同步修改为最新创建的A

Describe what you expected to happen

在上述行为后,不同的ProcessorSlotChain中B的next应该为各自新创建的A,而非共同的A

How to reproduce it (as minimally and precisely as possible)

  1. 添加一个ProcessSlot实现类,添加注解@SPI(order = Spi.ORDER_HIGHEST)

Tell us your environment

sentinel 1.8.3

Anything else we need to know?

DefaultProcessorSlotChain中添加next的方式是直接修改传入的AbstractLinkedProcessorSlot,但是传入的ProcessorSlot有可能是单例或非单例,倘若是单例,则在其后添加next会影响所有的ProcessorSlotChain

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions