]
dalex dalex edited comment on TEIID-5183 at 1/10/18 6:03 AM:
-------------------------------------------------------------
Actually my Teiid 9.3.4 contained not only changed from the issue but also from another
ones, maybe it caused such strange behavior which you can't reproduce. Thank you for
your additional checks, let's assume that clean 9.3.4 doesn't have problems
related to null values.
was (Author: dalex005):
Actually my Teiid 9.3.4 contained not only changed from the issue but also from another
ones, maybe it caused such strange behavior which I can't reproduce. Thank you for
your additional checks, let's assume that clean 9.3.4 doesn't have problems
related to null values.
NPE in Swagger translator
-------------------------
Key: TEIID-5183
URL:
https://issues.jboss.org/browse/TEIID-5183
Project: Teiid
Issue Type: Bug
Components: Misc. Connectors
Affects Versions: 9.3.4
Environment: teiid-9.3.4 on WildFly Full 10.0.0.Final (WildFly Core
2.0.10.Final)
Reporter: dalex dalex
Assignee: Steven Hawkins
Fix For: 10.1, 9.3.6, 10.0.2
Attachments: swagger_null_values.jpg
When using the
http://api.apis.guru/v2/specs/azure.com/redis/2017-10-01/ link as an
endpoint for swagger resource adapter Teiid throws up the following error message (in
bootstrapping phase), though with
http://petstore.swagger.io/v2 endpoint according to the
https://teiid.gitbooks.io/documents/reference/Swagger_Translator.html documentation the
translator works:
{code:noformat}
2017-12-18 16:14:43,975 WARN [org.teiid.RUNTIME] (Worker1_async-teiid-threads1)
TEIID50036 VDB test.1 model "mswagger" metadata failed to load.
Reason:java.lang.NullPointerExceptio
n: java.lang.NullPointerException
at org.teiid.metadata.MetadataFactory.setUUID(MetadataFactory.java:155)
at
org.teiid.metadata.MetadataFactory.addProcedureParameter(MetadataFactory.java:421)
at
org.teiid.translator.swagger.SwaggerMetadataProcessor.addProcedureParameters(SwaggerMetadataProcessor.java:560)
at
org.teiid.translator.swagger.SwaggerMetadataProcessor.addProcedure(SwaggerMetadataProcessor.java:261)
at
org.teiid.translator.swagger.SwaggerMetadataProcessor.process(SwaggerMetadataProcessor.java:206)
at
org.teiid.translator.swagger.SwaggerMetadataProcessor.process(SwaggerMetadataProcessor.java:74)
at org.teiid.translator.ExecutionFactory.getMetadata(ExecutionFactory.java:961)
at
org.teiid.query.metadata.NativeMetadataRepository.getMetadata(NativeMetadataRepository.java:96)
at
org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:62)
at
org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55)
at org.teiid.jboss.VDBService$6.run(VDBService.java:341)
at org.teiid.jboss.VDBService$7.run(VDBService.java:392)
at
org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:284)
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
{code}
The
http://api.apis.guru/v2/specs/azure.com/redis/2017-10-01/ endpoint supports swagger
API according to the
https://apis.guru/browse-apis/ link and I can see json output when
requesting the
http://api.apis.guru/v2/specs/azure.com/redis/2017-10-01/swagger.json link.
Probably the NPE appears because of RefParameter type which is not handled in
SwaggerMetadataProcessor.addProcedureParameters method which leads to name = null.