Pinot server can not start because of the Reflection lib version used
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 189
Description
There is a well documented issued about the Reflection lib (**0.9.10 onward**) used in Pinot today having multi-threading issues.
https://github.com/ronmamo/reflections/issues/81
We also encountered the same issue in production causing a percentage of our servers not able to start. The fix now is to revert to use **0.9.9** version of the lib. Or allow a server starts without the Swagger UI (which is less ideal). Our error trace on Pinot 0.7:
```
Exception in thread "main" java.lang.IllegalStateException: zip file closed
at java.util.zip.ZipFile.ensureOpen(ZipFile.java:686)
at java.util.zip.ZipFile.access$200(ZipFile.java:60)
at java.util.zip.ZipFile$ZipEntryIterator.hasNext(ZipFile.java:508)
at java.util.zip.ZipFile$ZipEntryIterator.hasMoreElements(ZipFile.java:503)
at java.util.jar.JarFile$JarEntryIterator.hasNext(JarFile.java:253)
at java.util.jar.JarFile$JarEntryIterator.hasMoreElements(JarFile.java:262)
at org.reflections.vfs.ZipDir$1$1.computeNext(ZipDir.java:30)
at org.reflections.vfs.ZipDir$1$1.computeNext(ZipDir.java:26)
at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:141)
at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:136)
at org.reflections.Reflections.scan(Reflections.java:243)
at org.reflections.Reflections.scan(Reflections.java:202)
at org.reflections.Reflections.(Reflections.java:123)
at io.swagger.jaxrs.config.BeanConfig.classes(BeanConfig.java:288)
at io.swagger.jaxrs.config.BeanConfig.scanAndRead(BeanConfig.java:250)
at io.swagger.jaxrs.config.BeanConfig.setScan(BeanConfig.java:231)
at org.apache.pinot.server.starter.helix.AdminApiApplication.setupSwagger(AdminApiApplication.java:111)
at org.apache.pinot.server.starter.helix.AdminApiApplication.start(AdminApiApplication.java:96)
at org.apache.pinot.server.starter.helix.HelixServerStarter.start(HelixServerStarter.java:441)
at com.uber.uPinot.starters.StartServer.main(StartServer.java:47)
```
@xiangfu0 @cbalci @KKcorps
Contributor guide
Assessment
This issue has not been assessed yet.