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

Latest java-client fails with IllegalStateException #526

Open
jimshowalter opened this issue Dec 31, 2024 · 5 comments
Open

Latest java-client fails with IllegalStateException #526

jimshowalter opened this issue Dec 31, 2024 · 5 comments
Assignees

Comments

@jimshowalter
Copy link

Something in 4.13.0...4.13.1 causes this to happen in our tests:

SplitFetcherImp: RefreshableSplitFetcher failed: Problem fetching splitChanges since -1: java.lang.IllegalStateException: Could not retrieve splitChanges since -1; http return code 403

(The RefreshableSplitFetcher should be SplitFetcherImpl, as reported separately in #525.)

If we force the version to 4.13.0, the problem goes away.

@chillaq
Copy link
Contributor

chillaq commented Jan 10, 2025

Hi @jimshowalter, could you please provide full debug logs? the 403 error means incorrect api key, so just want to see the whole request and the rest of debug lines.

Thanks
Bilal

@chillaq chillaq self-assigned this Jan 10, 2025
@jimshowalter
Copy link
Author

Will try to get that to you today.

@jimshowalter
Copy link
Author

The developer who ran into this problem is currently buried working to deadline on a product GA, but he'll try to get the information to you soon.

@jimshowalter
Copy link
Author

jimshowalter commented Jan 15, 2025

Not sure how useful this is, but this is all of the logs:

2025-01-15 14:58:08,324 WARN  [SPLIT-Initialization-0] SplitHttpClient: Response status was: 403. Reason: Forbidden
2025-01-15 14:58:08,326 ERROR [SPLIT-Initialization-0] SplitFetcherImp: RefreshableSplitFetcher failed: Problem fetching splitChanges since -1: java.lang.IllegalStateException: Could not retrieve splitChanges since -1; http return code 403
2025-01-15 14:58:09,416 WARN  [SPLIT-Initialization-0] SplitHttpClient: Response status was: 403. Reason: Forbidden
2025-01-15 14:58:09,417 ERROR [SPLIT-Initialization-0] SplitFetcherImp: RefreshableSplitFetcher failed: Problem fetching splitChanges since -1: java.lang.IllegalStateException: Could not retrieve splitChanges since -1; http return code 403
2025-01-15 14:58:11,504 WARN  [SPLIT-Initialization-0] SplitHttpClient: Response status was: 403. Reason: Forbidden
2025-01-15 14:58:11,505 ERROR [SPLIT-Initialization-0] SplitFetcherImp: RefreshableSplitFetcher failed: Problem fetching splitChanges since -1: java.lang.IllegalStateException: Could not retrieve splitChanges since -1; http return code 403
2025-01-15 14:58:15,596 WARN  [SPLIT-Initialization-0] SplitHttpClient: Response status was: 403. Reason: Forbidden
2025-01-15 14:58:15,597 ERROR [SPLIT-Initialization-0] SplitFetcherImp: RefreshableSplitFetcher failed: Problem fetching splitChanges since -1: java.lang.IllegalStateException: Could not retrieve splitChanges since -1; http return code 403
2025-01-15 14:58:18,157 ERROR [main] SplitFactoryConfig: Failure to initialize Split connection
error_type: com.foo.bar.featureflip.exceptions.FooBarFeatureFlipException
error_message: Timeout during feature client creation: SDK was not ready in 10000 milliseconds
error_stack: com.foo.bar.util.splitio.SplitFactoryConfig.initSplitClient(SplitFactoryConfig.java:96)
        com.foo.bar.util.splitio.SplitFactoryConfig.initSplit(SplitFactoryConfig.java:67)
        com.foo.bar.util.splitio.SplitFactoryConfig.reloadConfig(SplitFactoryConfig.java:117)
        com.foo.bar.util.splitio.SplitFactoryConfig.<init>(SplitFactoryConfig.java:56)
        com.foo.bar.service.SpringConfig.splitFactoryConfig(SpringConfig.java:284)
        com.foo.bar.service.SpringConfig$$SpringCGLIB$$0.CGLIB$splitFactoryConfig$4(<generated>)
        com.foo.bar.service.SpringConfig$$SpringCGLIB$$FastClass$$1.invoke(<generated>)
        org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:258)
        org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:348)
        com.foo.bar.service.SpringConfig$$SpringCGLIB$$0.splitFactoryConfig(<generated>)
        java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        java.base/java.lang.reflect.Method.invoke(Method.java:580)
        org.springframework.beans.factory.support.SimpleInstantiationStrategy.lambda$instantiate$0(SimpleInstantiationStrategy.java:171)
        org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiateWithFactoryMethod(SimpleInstantiationStrategy.java:88)
        org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:168)
        org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653)
        org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:645)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1351)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1181)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523)
        org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336)
        org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:288)
        org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334)
        org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
        org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1626)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1514)
        org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913)
        org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
        org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1371)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1208)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523)
        org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336)
        org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:288)
        org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334)
        org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
        org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1626)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1514)
        org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:913)
        org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:791)
        org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:240)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1371)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1208)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563)
        org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523)
        org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:336)
        org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:288)
        org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:334)
        org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.instantiateSingleton(DefaultListableBeanFactory.java:1122)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingleton(DefaultListableBeanFactory.java:1093)
        org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:1030)
        org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:987)
        org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:627)
        org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)
        org.springframework.boot.SpringApplication.refresh(SpringApplication.java:752)
        org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439)
        org.springframework.boot.SpringApplication.run(SpringApplication.java:318)
        org.springframework.boot.SpringApplication.run(SpringApplication.java:1361)
        org.springframework.boot.SpringApplication.run(SpringApplication.java:1350)
        com.foo.bar.ServiceApplication.main(ServiceApplication.java:29)
        java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
        java.base/java.lang.reflect.Method.invoke(Method.java:580)
        org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:102)
        org.springframework.boot.loader.launch.Launcher.launch(Launcher.java:64)
        org.springframework.boot.loader.launch.JarLauncher.main(JarLauncher.java:40)

@jimshowalter
Copy link
Author

Did something in 4.13.1 change how to authenticate?

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

2 participants