[ 
https://issues.apache.org/jira/browse/AIRAVATA-3002?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16808795#comment-16808795
 ] 

Marcus Christie commented on AIRAVATA-3002:
-------------------------------------------

This problem is related to the DB-event based synchronization between the 
services. When a new user is added to the profile service, a CREATED 
USER_PROFILE event is dispatched to the registry and the sharing services. The 
RegistryServiceDBEventHandler creates the new user and also create a default 
project for the user. When the default project is created 
RegistryServiceDBEventHandler also registers this project as a shared Entity in 
the sharing service.  However, when processing old, unhandled USER_PROFILE 
events on startup, the sharing service hasn't been started yet so this ends up 
failing.

Here's an example stack trace:
{noformat}
2019-04-03 13:34:17,969 [pool-12-thread-4] INFO  
o.a.a.r.a.s.m.RegistryServiceDBEventHandler  - RegistryServiceDBEventH
andler | Received a new message!
2019-04-03 13:34:17,969 [pool-12-thread-4] INFO  
o.a.a.r.a.s.m.RegistryServiceDBEventHandler  - RegistryService receive
d db-event-message from publisher: user.profile
2019-04-03 13:34:17,969 [pool-12-thread-4] INFO  
o.a.a.r.a.s.m.RegistryServiceDBEventHandler  - RegistryService, Replic
ated Entity: USER_PROFILE
2019-04-03 13:34:17,970 [pool-12-thread-4] WARN  o.a.a.c.utils.ThriftClientPool 
 - java.net.ConnectException: Connectio
n refused (Connection refused)
org.apache.thrift.transport.TTransportException: java.net.ConnectException: 
Connection refused (Connection refused)
        at org.apache.thrift.transport.TSocket.open(TSocket.java:226)
        at 
org.apache.airavata.common.utils.ThriftClientPool$BinaryOverSocketProtocolFactory.make(ThriftClientPool.java
:110)
        at 
org.apache.airavata.common.utils.ThriftClientPool$ThriftClientFactory.makeObject(ThriftClientPool.java:67)
        at 
org.apache.airavata.common.utils.ThriftClientPool$ThriftClientFactory.makeObject(ThriftClientPool.java:53)
        at 
org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:1181)
        at 
org.apache.airavata.common.utils.ThriftClientPool.getResource(ThriftClientPool.java:132)
        at 
org.apache.airavata.registry.api.service.messaging.RegistryServiceDBEventHandler.onMessage(RegistryServiceDB
EventHandler.java:93)
        at 
org.apache.airavata.messaging.core.impl.MessageConsumer.handleDelivery(MessageConsumer.java:70)
        at 
com.rabbitmq.client.impl.ConsumerDispatcher$5.run(ConsumerDispatcher.java:144)
        at 
com.rabbitmq.client.impl.ConsumerWorkService$WorkPoolRunnable.run(ConsumerWorkService.java:99)
        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:748)
Caused by: java.net.ConnectException: Connection refused (Connection refused)
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at 
java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
        at 
java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
        at 
java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:589)
        at org.apache.thrift.transport.TSocket.open(TSocket.java:221)
        ... 12 common frames omitted
{noformat}

So processing these CREATED USER_PROFILE events on startup fails. But that is 
only part of the story since I'm still not sure why these events are failing to 
be processed successfully at runtime.


> Exception thrown when user clicks on Experiments in workspace while not been 
> in any of the user groups
> ------------------------------------------------------------------------------------------------------
>
>                 Key: AIRAVATA-3002
>                 URL: https://issues.apache.org/jira/browse/AIRAVATA-3002
>             Project: Airavata
>          Issue Type: Bug
>          Components: Django Portal
>    Affects Versions: 0.18
>         Environment: https://beta.simccs.org
>            Reporter: Eroma
>            Assignee: Marcus Christie
>            Priority: Major
>         Attachments: Screen Shot 2019-04-02 at 10.20.18 AM.png, Screen Shot 
> 2019-04-02 at 10.28.11 AM.png, Screen Shot 2019-04-02 at 10.28.19 AM.png
>
>
> # User used CILogon and in gateway workspace but not a member of any of the 
> existing groups yet. Currently gateway has gateway_user, admin-read-only and 
> admin user groups but this user is new and not in any of those.
>  # Exception attached is thrown, when clicked on experiments.
>  # The page link is [https://beta.simccs.org/workspace/experiments] TypeError 
> at /workspace/experiments
>  unhashable type: ‘AiravataSystemException’
>  Request Method: GET...........
>  # Please see the attachment
>  
>  # This user can also click 'Create new Parser" which should not be available 
> for this user. that also throws the 'Page Not found' error.
>  # In Admin space, the user can create credentials and also create group 
> resource profiles.
>  # All this can be done without being in any active group.
>  # Shouldn't these be restricted for this user?



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to