Marcus Christie created AIRAVATA-2361:
-----------------------------------------

             Summary: Default gateway created with NULL gateway approval 
status, breaks super admin portal
                 Key: AIRAVATA-2361
                 URL: https://issues.apache.org/jira/browse/AIRAVATA-2361
             Project: Airavata
          Issue Type: Bug
    Affects Versions: 0.16, 0.17
            Reporter: Marcus Christie


The registry has a notion of a "default" gateway.  If this default gateway 
doesn't exist, then it creates a very minimal record. This default gateway 
record doesn't have an approval status set, and this causes a super admin 
portal like scigap.org to fail to load all of the gateways.  It throws a null 
pointer exception.

{noformat}
2017-04-03 13:42:37 [pool-1-thread-2] ERROR o.a.a.r.c.e.c.impl.GatewayRegistry 
- Error while getting all the gateways
java.lang.NullPointerException: Name is null
        at java.lang.Enum.valueOf(Enum.java:236)
        at 
org.apache.airavata.model.workspace.GatewayApprovalStatus.valueOf(GatewayApprovalStatus.java:31)
        at 
org.apache.airavata.registry.core.experiment.catalog.utils.ThriftDataModelConversion.getGateway(ThriftDataModelConversion.java:80)
        at 
org.apache.airavata.registry.core.experiment.catalog.utils.ThriftDataModelConversion.getAllGateways(ThriftDataModelConversion.java:106)
        at 
org.apache.airavata.registry.core.experiment.catalog.impl.GatewayRegistry.getAllGateways(GatewayRegistry.java:138)
        at 
org.apache.airavata.registry.core.experiment.catalog.impl.ExperimentCatalogImpl.get(ExperimentCatalogImpl.java:400)
        at 
org.apache.airavata.registry.api.service.handler.RegistryServerHandler.getAllGateways(RegistryServerHandler.java:191)
        at 
org.apache.airavata.registry.api.RegistryService$Processor$getAllGateways.getResult(RegistryService.java:12045)
        at 
org.apache.airavata.registry.api.RegistryService$Processor$getAllGateways.getResult(RegistryService.java:12029)
        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
        at 
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
        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)
{noformat}

We can work around this, but even better would be to remove this notion of a 
"default" gateway which doesn't really make sense for Airavata now that it is 
multi-tenanted.




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to