As per https://github.com/OpenGamma/Strata/blob/master/modules/collect/src/main/java/com/opengamma/strata/collect/io/ResourceLocator.java#L200 you use Thread.currentThread().getContextClassLoader()
to load resources if available, we have observed periodic errors when running on AWS Lambda similar to this
Failed to load ExtendedEnum for interface com.opengamma.strata.basics.date.DateSequence: java.lang.IllegalStateException: No files found on the classpath: [META-INF/com/opengamma/strata/config/base/DateSequence.ini, META-INF/com/opengamma/strata/config/base1/DateSequence.ini, META-INF/com/opengamma/strata/config/base2/DateSequence.ini, META-INF/com/opengamma/strata/config/base3/DateSequence.ini, META-INF/com/opengamma/strata/config/base4/DateSequence.ini, META-INF/com/opengamma/strata/config/base5/DateSequence.ini, META-INF/com/opengamma/strata/config/base6/DateSequence.ini, META-INF/com/opengamma/strata/config/base7/DateSequence.ini, META-INF/com/opengamma/strata/config/base8/DateSequence.ini, META-INF/com/opengamma/strata/config/base9/DateSequence.ini, META-INF/com/opengamma/strata/config/library/DateSequence.ini, META-INF/com/opengamma/strata/config/library1/DateSequence.ini, META-INF/com/opengamma/strata/config/library2/DateSequence.ini, META-INF/com/opengamma/strata/config/library3/DateSequence.ini, META-INF/com/opengamma/strata/config/library4/DateSequence.ini, META-INF/com/opengamma/strata/config/library5/DateSequence.ini, META-INF/com/opengamma/strata/config/library6/DateSequence.ini, META-INF/com/opengamma/strata/config/library7/DateSequence.ini, META-INF/com/opengamma/strata/config/library8/DateSequence.ini, META-INF/com/opengamma/strata/config/library9/DateSequence.ini, META-INF/com/opengamma/strata/config/application/DateSequence.ini, META-INF/com/opengamma/strata/config/application1/DateSequence.ini, META-INF/com/opengamma/strata/config/application2/DateSequence.ini, META-INF/com/opengamma/strata/config/application3/DateSequence.ini, META-INF/com/opengamma/strata/config/application4/DateSequence.ini, META-INF/com/opengamma/strata/config/application5/DateSequence.ini, META-INF/com/opengamma/strata/config/application6/DateSequence.ini, META-INF/com/opengamma/strata/config/application7/DateSequence.ini, META-INF/com/opengamma/strata/config/application8/DateSequence.ini, META-INF/com/opengamma/strata/config/application9/DateSequence.ini]
at com.opengamma.strata.collect.io.ResourceConfig.orderedResources0(ResourceConfig.java:274)
at com.opengamma.strata.collect.io.ResourceConfig.lambda$orderedResources$0(ResourceConfig.java:239)
at com.opengamma.strata.collect.Unchecked.wrap(Unchecked.java:107)
at com.opengamma.strata.collect.io.ResourceConfig.orderedResources(ResourceConfig.java:239)
at com.opengamma.strata.collect.io.ResourceConfig.combinedIniFile(ResourceConfig.java:175)
at com.opengamma.strata.collect.named.ExtendedEnum.of(ExtendedEnum.java:143)
at com.opengamma.strata.basics.date.DateSequences.<clinit>(DateSequences.java:25)
I’ve monkey patched this to just use ResourceConfig.class.getClassLoader()
which seems to have resolved the issue.
I don’t know what the rationale was for this code but I think it should be changed, it might also resolve some of the other open issues e.g. https://github.com/OpenGamma/Strata/issues/2144