Comments (10)
Hey Brett,
Could you let me know which version of Java you are using?
Do you also have any sort of sample code that we can use to try to reproduce this?
from java-server-sdk.
Brett, could you also run this with DEBUG logs enabled? https://github.com/launchdarkly/java-client#logging
If you have any sensitive info in the logs feel free to email them to me instead of posting here. [email protected]
GPG: http://pgp.mit.edu/pks/lookup?op=vindex&search=0x239FBEC8D2512A3F
from java-server-sdk.
Hi @levlaz ,
Thanks for the quick response! We are running Java 1.8.0_74. I will try to enable debug logging and see if I can get a stack trace for you. I did try this previously as it looks like the LaunchDarkly client only logs stack traces with debug logging enabled. I tried enabling "log4j.logger.com.launchdarkly=DEBUG", but that didn't seem to work. Here is some sample code we are running:
public class LaunchDarklyClientProvider implements Provider<LDClient> {
public static final String API_KEY_CONFIG = "LAUNCHDARKLY_SDK_KEY";
private final LDClient ldClient;
@SuppressFBWarnings("WEM_WEAK_EXCEPTION_MESSAGING")
public LaunchDarklyClientProvider() {
String key = getConfigValue(API_KEY_CONFIG);
if (StringUtils.isNullOrEmpty(key)) {
throw new IllegalStateException(API_KEY_CONFIG + " must be non-null");
}
ldClient = new LDClient(key);
}
@Override
public LDClient get() {
return ldClient;
}
@Override
public String toString() {
return ReflectionToStringBuilder.toString(this);
}
}
public class FeatureFlipLaunchDarklyProvider implements Provider<FeatureFlip> {
private final FeatureFlip featureFlip;
@Inject
public FeatureFlipLaunchDarklyProvider(LDClient ldClient) {
featureFlip = new FeatureFlipLaunchDarkly(ldClient);
}
public FeatureFlip get() {
return featureFlip;
}
@Override
public String toString() {
return ReflectionToStringBuilder.toString(this);
}
}
public class FeatureFlipLaunchDarkly implements FeatureFlip {
public static final LDUser ANONYMOUS = new LDUser.Builder("anonymous").anonymous(true).build();
private static final Logger LOG = LoggerFactory.getLogger(FeatureFlipLaunchDarkly.class);
private final LDClient client;
@SuppressFBWarnings("WEM_WEAK_EXCEPTION_MESSAGING")
public FeatureFlipLaunchDarkly(LDClient client) {
if (client == null) {
throw new IllegalArgumentException("LDClient must not be null");
}
this.client = client;
}
@Override
public boolean isFeatureEnabled(String key) {
boolean isEnabled = client.boolVariation(key, ANONYMOUS, false);
LOG.trace("feature \"{}\" == {}", key, isEnabled);
return isEnabled;
}
@Override
public String toString() {
return ReflectionToStringBuilder.toString(this);
}
}
public abstract class FeatureFlipProxyProvider<T> implements Provider<T> {
private final T proxy;
@SuppressFBWarnings("WEM_WEAK_EXCEPTION_MESSAGING")
protected FeatureFlipProxyProvider(Class<T> type,
FeatureFlip featureFlip,
T enabledImplementation,
T disabledImplementation) {
Feature feature = type.getAnnotation(Feature.class);
if (feature == null) {
throw new IllegalArgumentException(type.getName() + " must be annotated with @Feature");
}
String key = feature.key();
ClassLoader classLoader = FeatureFlipProxyProvider.class.getClassLoader();
Class<?>[] interfaces = {type};
proxy = (T) Proxy.newProxyInstance(classLoader, interfaces,
(proxy1, method, args) -> featureFlip.isFeatureEnabled(key) ?
method.invoke(enabledImplementation, args) :
method.invoke(disabledImplementation, args));
}
@Override
public T get() {
return proxy;
}
}
public interface FeatureFlip {
boolean isFeatureEnabled(String key);
/**
* Simple config key lookup in application.conf followed by system environment
* Intentionally not depending on other config components to not cause circular dependency
*/
static String getConfigValue(String key) {
if (StringUtils.isBlank(key)) {
return null;
}
Config application = ConfigFactory.load();
if (application.hasPath(key) && StringUtils.isNotEmpty(application.getString(key))) {
return application.getString(key);
}
String envConfig = System.getenv(key);
if (StringUtils.isNotEmpty(envConfig)) {
return envConfig;
}
return "";
}
}
@Target(TYPE)
@Retention(RUNTIME)
public @interface Feature {
String key();
}
@Target(PARAMETER)
@Retention(RUNTIME)
@BindingAnnotation
public @interface Enabled {}
@Target(PARAMETER)
@Retention(RUNTIME)
@BindingAnnotation
public @interface Disabled {}
Example feature:
@Feature(key = "sendgrid-unsubscription-properties")
public interface UnsubscriptionPropertiesFeature {
void setUnsubscribeProperties(Application application, Mail mail);
}
public class UnsubscriptionPropertiesFeatureProvider extends FeatureFlipProxyProvider<UnsubscriptionPropertiesFeature> {
@Inject
protected UnsubscriptionPropertiesFeatureProvider(FeatureFlip featureFlip,
@Enabled UnsubscriptionPropertiesFeature enabledImplementation,
@Disabled UnsubscriptionPropertiesFeature disabledImplementation) {
super(UnsubscriptionPropertiesFeature.class, featureFlip, enabledImplementation, disabledImplementation);
}
}
from java-server-sdk.
Hi @brettcooper,
I've been investigating this issue, and haven't yet been able to reproduce the error you're seeing. The error you're seeing seems to be pretty elusive, and having researched this issue in the past, I believe such errors are fairly isolated to AWS products.
To help with investigation, can you confirm which version of the LaunchDarkly Java SDK you're using? From your partial stack trace, I noticed that you may be using an older version of the client. We have updated the dependency which is producing these errors since then (EventSource), so it upgrading may be worth a try.
Also, does it look like the lambda executions that generate this error have been producing your desired results (no uncaught exceptions, boolVariation
returns the correct value)? If that's not the case, we'd be able to update the client to at least handle these errors gracefully.
from java-server-sdk.
Hi @atrakh,
We are using launchdarkly-client 2.5.1. It does look like there is a newer version of the client (2.6.0) that we can upgrade to. I upgraded us to the latest client and this error is still happening. Yes, it does appear that the lamdba is producing our desired results despite this error happening.
Also, here is an updated stack trace with DEBUG enabled for Launch Darkly:
18:46:07.059 [main] INFO com.launchdarkly.client.LDClient - Waiting up to 5000 milliseconds for LaunchDarkly client to start...
18:46:07.059 [okhttp-eventsource-stream-[]-0] DEBUG com.launchdarkly.shaded.com.launchdarkly.eventsource.EventSource. - readyState change: CONNECTING -> CONNECTING
18:46:07.988 [okhttp-eventsource-stream-[]-0] DEBUG com.launchdarkly.shaded.com.launchdarkly.eventsource.EventSource. - readyState change: CONNECTING -> OPEN
18:46:07.988 [okhttp-eventsource-stream-[]-0] INFO com.launchdarkly.shaded.com.launchdarkly.eventsource.EventSource. - Connected to Event Source stream.
18:46:07.999 [okhttp-eventsource-stream-[]-0] DEBUG com.launchdarkly.shaded.com.launchdarkly.eventsource.EventParser - Parsing line: event: put
18:46:07.999 [okhttp-eventsource-stream-[]-0] DEBUG com.launchdarkly.shaded.com.launchdarkly.eventsource.EventParser - Parsing line: data:
{ "delay": { "key": "delay", "version": 4, "on": true, "prerequisites": [], "salt": "af29c0792b474606b7d1d97aa07e6c5c", "sel": "98fdafba89bd478584194e3d9e4621d2", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ 120, 900 ], "deleted": false }, "enable-additional-coupon-rules": { "key": "enable-additional-coupon-rules", "version": 2, "on": true, "prerequisites": [], "salt": "58c09170e6be4fd39082d6b4c983817c", "sel": "a711e074aca34c529d3329a9e7359dc3", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-auth-0-login": { "key": "enable-auth-0-login", "version": 8, "on": true, "prerequisites": [], "salt": "5dd2cd12d62745f081edc57baead2e85", "sel": "b2e220356102415aa47d2770c102fd0d", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-billing-graphql": { "key": "enable-billing-graphql", "version": 2, "on": true, "prerequisites": [], "salt": "e44c484942f44a29a1df391cdce80997", "sel": "9b01878a982e41b5b2446f2a20ca6b90", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-billing-page": { "key": "enable-billing-page", "version": 10, "on": true, "prerequisites": [], "salt": "37c5dd630b5c4e1aa9feb2c22e758893", "sel": "d5cf5a063c3c46caa7086c8bc8da42a3", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-coupon-stats": { "key": "enable-coupon-stats", "version": 8, "on": true, "prerequisites": [], "salt": "875e7ac6099e44fe82c49486d6382154", "sel": "4daba332225b445fabeccb783e07bab0", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-email-preview": { "key": "enable-email-preview", "version": 1, "on": false, "prerequisites": [], "salt": "33b7aa68c8d94abe92899035af2ffaa4", "sel": "e30691e2b02b4a75a57137b8e42d4499", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-end-goal": { "key": "enable-end-goal", "version": 16, "on": true, "prerequisites": [], "salt": "ca396f1c93aa451993df1000cbd38cdc", "sel": "4df478f8211546f9983dfb93545da62b", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-end-goal-criteria": { "key": "enable-end-goal-criteria", "version": 10, "on": true, "prerequisites": [], "salt": "2244ac32e8174da2a2caed13e2f83c50", "sel": "089fb5f698d6466d9c815bd68b6d50de", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-facebook-messenger": { "key": "enable-facebook-messenger", "version": 10, "on": true, "prerequisites": [], "salt": "048878d71dad45309544445e92559b7e", "sel": "5885b12819b74fc4842f8b16090c6cbe", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-grapesjs": { "key": "enable-grapesjs", "version": 77, "on": true, "prerequisites": [], "salt": "f555a45455ae4dacbc860d5f66e2c78d", "sel": "250ebbab797a4ba19e181a37d8b73a93", "targets": [ { "values": [ "[email protected]" ], "variation": 0 } ], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-library-drawer": { "key": "enable-library-drawer", "version": 5, "on": true, "prerequisites": [], "salt": "232a12669e8148788278228726f8867d", "sel": "d136f0231d71491da55e918c001d9da6", "targets": [ { "values": [ "[email protected]" ], "variation": 0 } ], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-mjml-editor": { "key": "enable-mjml-editor", "version": 9, "on": false, "prerequisites": [], "salt": "d8be2de6569c4ef181f2ada4c17c9a46", "sel": "9e6cf548066144d6bf79f79afcb80dce", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-multiple-coupons": { "key": "enable-multiple-coupons", "version": 2, "on": true, "prerequisites": [], "salt": "eae7a4678e824db0b779570ed60e43ef", "sel": "9576ad744ec74cea8329b8d003fc1907", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-new-default-template": { "key": "enable-new-default-template", "version": 3, "on": false, "prerequisites": [], "salt": "4991ca412658412880a9870a3e55bc1c", "sel": "f8b679a560ed4b9f93943b2caba2a509", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-new-library": { "key": "enable-new-library", "version": 4, "on": true, "prerequisites": [], "salt": "b71d7843e8dc48ce8c31d7d348e91c7f", "sel": "7b1331e0586644369c34cd2053dfab74", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-order-events": { "key": "enable-order-events", "version": 4, "on": true, "prerequisites": [], "salt": "1ba70dbc97bb4897b2fab676041d5ac1", "sel": "a0ea3a700fb64b5899a6bd784f913de1", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-plan-info": { "key": "enable-plan-info", "version": 5, "on": false, "prerequisites": [], "salt": "cc4442646d0e4a55a0038ef232f5e997", "sel": "5b40a85244af4f6f8a00d41061068bb5", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-production-deployment-message": { "key": "enable-production-deployment-message", "version": 7, "on": false, "prerequisites": [], "salt": "6f82142bf48444e68c8707a7ba7476c5", "sel": "6df681657c2e4bc7950e6c220a414869", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-rule-builder-endpoint": { "key": "enable-rule-builder-endpoint", "version": 29, "on": false, "prerequisites": [], "salt": "78047c0c982145d78a997b8cf09e1d0d", "sel": "aa6498f0d0bf43b2b3f2f2f90c8feda7", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "enable-send-test-email": { "key": "enable-send-test-email", "version": 2, "on": true, "prerequisites": [], "salt": "02df8fa85912427e99fd358f5f4139cf", "sel": "66eaa99c479d45a29cd0cfe1848f03dc", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "facebook-backend": { "key": "facebook-backend", "version": 2, "on": true, "prerequisites": [], "salt": "f76baeeab6cb4b09ab4ce8382795e99f", "sel": "a72e448d44114118900e65da0640b5f9", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "hide-old-campaigns": { "key": "hide-old-campaigns", "version": 32, "on": true, "prerequisites": [], "salt": "53d4d6fd194c40a0841a711c5fc14dcf", "sel": "87344fbbab1d4ad08435a83063aa84aa", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ "2017-09-20T23:59:59.675Z", "1990-09-21T23:59:59.675Z" ], "deleted": false }, "s3-storage-handler": { "key": "s3-storage-handler", "version": 4, "on": true, "prerequisites": [], "salt": "e6d8954199464b8d9b54f8205623932b", "sel": "cfea469214b94512a4f9d6fa0669345b", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "segment-scheduler": { "key": "segment-scheduler", "version": 13, "on": true, "prerequisites": [], "salt": "0313c415d65e4ac08d6f52ed6c0a3a8d", "sel": "396b816c0043406386bf4a52d1b94e36", "targets": [], "rules": [], "fallthrough": { "variation": 1 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "sendgrid-unsubscription-properties": { "key": "sendgrid-unsubscription-properties", "version": 4, "on": true, "prerequisites": [], "salt": "3b5f6551fe6a41db922bdcedd76eac70", "sel": "1b91d5ef09734e2ca23770c4e99af9d1", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "show-edit-email-on-all-campaigns": { "key": "show-edit-email-on-all-campaigns", "version": 5, "on": false, "prerequisites": [], "salt": "d4f85d7130344845a163f6204d3792ba", "sel": "f66c8bc3c0e14d00ab18aa4324c37b4c", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false }, "show-roi-column": { "key": "show-roi-column", "version": 3, "on": false, "prerequisites": [], "salt": "2f6610c20d494ed79eb753b9fe651f2c", "sel": "3a973829e808498a917390a9db5d9058", "targets": [], "rules": [], "fallthrough": { "variation": 0 }, "offVariation": 1, "variations": [ true, false ], "deleted": false } }
18:46:08.000 [okhttp-eventsource-stream-[]-0] DEBUG com.launchdarkly.shaded.com.launchdarkly.eventsource.EventParser - Parsing line:
18:46:08.053 [okhttp-eventsource-events-[]-0] INFO com.launchdarkly.client.StreamProcessor - Initialized LaunchDarkly client.
18:46:09.960 [main] DEBUG com.launchdarkly.client.InMemoryFeatureStore - [get] Key: REDIS_HOSTNAME not found in feature store. Returning null
18:46:09.965 [main] DEBUG com.launchdarkly.client.InMemoryFeatureStore - [get] Key: REDIS_PORT not found in feature store. Returning null
18:46:09.965 [main] DEBUG com.launchdarkly.client.InMemoryFeatureStore - [get] Key: REDIS_MAX_LIMIT not found in feature store. Returning null
<more Key: not found in feature store messages>
18:46:10.630 [okhttp-eventsource-stream-[]-0] DEBUG com.launchdarkly.shaded.com.launchdarkly.eventsource.EventSource. - Connection problem.
18:46:10
java.net.SocketException: Operation not permitted (select/poll failed)
18:46:10
at java.net.SocketInputStream.socketRead0(Native Method)
18:46:10
at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
18:46:10
at java.net.SocketInputStream.read(SocketInputStream.java:171)
18:46:10
at java.net.SocketInputStream.read(SocketInputStream.java:141)
18:46:10
at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
18:46:10
at sun.security.ssl.InputRecord.read(InputRecord.java:503)
18:46:10
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:983)
18:46:10
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:940)
18:46:10
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
18:46:10
at com.launchdarkly.shaded.okio.Okio$2.read(Okio.java:139)
18:46:10
at com.launchdarkly.shaded.okio.AsyncTimeout$2.read(AsyncTimeout.java:237)
18:46:10
at com.launchdarkly.shaded.okio.RealBufferedSource.request(RealBufferedSource.java:67)
18:46:10
at com.launchdarkly.shaded.okio.RealBufferedSource.require(RealBufferedSource.java:60)
18:46:10
at com.launchdarkly.shaded.okio.RealBufferedSource.readHexadecimalUnsignedLong(RealBufferedSource.java:294)
18:46:10
at com.launchdarkly.shaded.okhttp3.internal.http1.Http1Codec$ChunkedSource.readChunkSize(Http1Codec.java:444)
18:46:10
at com.launchdarkly.shaded.okhttp3.internal.http1.Http1Codec$ChunkedSource.read(Http1Codec.java:425)
18:46:10
at com.launchdarkly.shaded.okio.RealBufferedSource.read(RealBufferedSource.java:46)
18:46:10
at com.launchdarkly.shaded.okio.RealBufferedSource.indexOf(RealBufferedSource.java:345)
18:46:10
at com.launchdarkly.shaded.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:217)
18:46:10
at com.launchdarkly.shaded.okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:211)
18:46:10
at com.launchdarkly.shaded.com.launchdarkly.eventsource.EventSource.connect(EventSource.java:207)
18:46:10
at com.launchdarkly.shaded.com.launchdarkly.eventsource.EventSource.access$1000(EventSource.java:43)
18:46:10
at com.launchdarkly.shaded.com.launchdarkly.eventsource.EventSource$2.run(EventSource.java:112)
18:46:10
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
18:46:10
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
18:46:10
at java.lang.Thread.run(Thread.java:748)
18:46:10
18:46:10.642 [okhttp-eventsource-stream-[]-0] DEBUG com.launchdarkly.shaded.com.launchdarkly.eventsource.EventSource. - readyState change: OPEN -> CLOSED
18:46:10
18:46:10.643 [okhttp-eventsource-stream-[]-0] DEBUG com.launchdarkly.shaded.com.launchdarkly.eventsource.EventSource. - response closed
18:46:10
18:46:10.644 [okhttp-eventsource-stream-[]-0] DEBUG com.launchdarkly.shaded.com.launchdarkly.eventsource.EventSource. - buffered source closed
18:46:10
18:46:10.650 [okhttp-eventsource-stream-[]-0] DEBUG com.launchdarkly.shaded.com.launchdarkly.eventsource.EventSource. - readyState change: CLOSED -> CONNECTING
18:46:11
18:46:11.203 [okhttp-eventsource-stream-[]-0] DEBUG com.launchdarkly.shaded.com.launchdarkly.eventsource.EventSource. - readyState change: CONNECTING -> OPEN
18:46:11
18:46:11.203 [okhttp-eventsource-stream-[]-0] INFO com.launchdarkly.shaded.com.launchdarkly.eventsource.EventSource. - Connected to Event Source stream.
18:46:11
18:46:11.203 [okhttp-eventsource-stream-[]-0] DEBUG com.launchdarkly.shaded.com.launchdarkly.eventsource.EventParser - Parsing line: event: put
18:46:11
18:46:11.210 [okhttp-eventsource-stream-[]-0] DEBUG com.launchdarkly.shaded.com.launchdarkly.eventsource.EventParser - Parsing line: data: {"delay":{"key":"delay","version":4,"on":true,"prerequisites":[],"salt":"af29c0792b474606b7d1d97aa07e6c5c","sel":"98fdafba89bd478584194e3d9e4621d2","targets":[],"rules":[],"fallthrough":{"variation":0},"offVariation":1,"variations":[120,900],"deleted":false},"e
18:46:11
18:46:11.210 [okhttp-eventsource-stream-[]-0] DEBUG com.launchdarkly.shaded.com.launchdarkly.eventsource.EventParser - Parsing line:
Thanks,
Brett
from java-server-sdk.
@brettcooper have you managed to get around this issue? I am getting very similar error with RabbitMQ client on AWS lambda...
from java-server-sdk.
@pmalon No, we are still having this issue.
from java-server-sdk.
Hi @brettcooper,
Can you distinguish if the error happens while the Lambda is executing or upon terminating? I'm curious if LDClient has failed operations during normal execution or if it is something specific to operating the connections while simultaneously being shut down.
from java-server-sdk.
I'm getting the same error but when connecting to MongoDb on AWS Lambda function...
from java-server-sdk.
Closing this as the reporter hasn't responded in a year and, per the last comment, the issue doesn't seem to be specific to this SDK.
from java-server-sdk.
Related Issues (20)
- Launch Darkly Metrics conflating Version numbers. HOT 3
- Getting numerous Error posting diagnostic event (giving up permanently): HTTP error 401 (invalid SDK key) HOT 2
- Synk reports the low version of okHttp3 dependency HOT 3
- Vulnerability in snakeyaml HOT 3
- LaunchDarkly Client initialing failed even add LaunchDarkly Certificate to java key store. HOT 9
- Add shaded libraries as dependencies to `-thin` jar HOT 2
- `isInitialized` & `dataStore.isInitialized()` HOT 3
- Please provide ability to `LDClient` in non-blocking manner HOT 4
- fat jar brings in duplicate copy of `launchdarkly-logging` HOT 3
- Allow lazily computed defaultValues in LDClient to improve code readability HOT 6
- java-server-sdk is vulnerable to CVE-2022-1471 RCE HOT 3
- Builder object is not exist in V6 but is taken as an example in the docs HOT 6
- Evaluation can throw when the same segment is used in multiple rules within a single flag HOT 6
- StreamClosedByServerException: Stream closed by server HOT 13
- Vulnerability CVE-2022-1471 is introduced via SnakeYaml 1.32. Upgrading to 2.0 should fix it. HOT 3
- Have a robust in memory datastore fallback when the persistent data store connection is not working HOT 2
- update to guava 32.0.0 to resolve CVE-2023-2976 HOT 6
- ApiException.getMessage throws NullPointerException when IOException occurs HOT 1
- Stream continuously reset HOT 2
- Support for use of java-server-sdk library in GraalVM native image applications HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from java-server-sdk.