apache / apache/airavata-mft

File resource download hangs when trying to download file

Open
#33 3 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Java
Stars
41
Forks
37
PR merge metrics
No merged PRs in 30d

Description

[NOTE]: # ( ^^ Provide a general summary of the issue in the title above. ^^ )

## Description

I'm running download_http.py to generate a download url for a file resource. When I click on the generated URL to download the file, it just hangs.

## Steps to Reproduce

[NOTE]: # ( Include details description or commands to reproduce. )

I created a SCP file resource

```json
...
{
"type": "SCP",
"resourceId": "remote-ssh-resource",
"resourceMode": "FILE",
"resourcePath": "/tmp/test1/solution_summary.json",
"storageId" : "remote-ssh-storage"
},
```

Then I generate the download URL with a python script (modified download_http.py):
```python
import grpc
import MFTApi_pb2
import MFTApi_pb2_grpc

channel = grpc.insecure_channel('localhost:7004')
stub = MFTApi_pb2_grpc.MFTApiServiceStub(channel)
download_request = MFTApi_pb2.HttpDownloadApiRequest(
# sourceStoreId ="remote-ssh-storage",
sourceResourceId = "remote-ssh-resource",
# sourceResourceId = "remote-ssh-dir-resource",
# sourceStoreId ="remote-ssh-dir-resource",
# sourcePath= "/tmp/test1/foo",
sourceToken = "local-ssh-cred",
sourceType= "SCP",
targetAgent = "agent0",
# mftAuthorizationToken = ""
)

result = stub.submitHttpDownload(download_request)
print(result)
```

When I run the script I get:
```
$ python download_http.py
url: "http://localhost:3333/4978023d-c807-46fc-989b-8f550d18021d"
targetAgent: "agent0"
```

When I load the URL in a browser, the browser just spins and never finishes loading the file.

## Expected Behaviour

[NOTE]: # ( Tell us what you did and what you expected to happen and what you instead saw. )

Loading the URL in the browser would result in a file download.

## Your Environment

[TIP]: # ( Include as many relevant details about your environment as possible. )
[TIP]: # ( Mention Custos Branch or release version, runtime and compiler version )

* mft branch or release version used: develop
* Operating system and version: macOS Big Sur

## Additional Context

[TIP]: # ( full error message, exception listing, stack trace, logs or other information which can assist in diagnosing the bug. )

By using logging statements, I know that it gets to trying to trying to create a session in SCPReceiver.java

https://github.com/apache/airavata-mft/blob/develop/transport/scp-transport/src/main/java/org/apache/airavata/mft/transport/scp/SCPReceiver.java#L103

Apparently it is stuck on this line in SCPTransportUtil:

https://github.com/apache/airavata-mft/blob/develop/transport/scp-transport/src/main/java/org/apache/airavata/mft/transport/scp/SCPTransportUtil.java#L37

because I can log the line before but none of my logging after this line prints.

Also, I know that the SCP configuration is good since I'm able to fetch metadata for the resource:
```python
request = MFTApi_pb2.FetchResourceMetadataRequest(

resourceId= "remote-ssh-resource",
resourceType = "SCP",
resourceToken = "local-ssh-cred",
targetAgentId = "agent0",
)
response = stub.getFileResourceMetadata(request)
print(response)
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the download_http.py reproduction and follow the request into SCPReceiver.java at line 103, then inspect SCPTransportUtil.java at line 37 where logging stops. Compare this path with the working getFileResourceMetadata request and verify that opening the generated URL completes with the requested file download.

Written by the indexing model from the issue text.

Assessment

Tech stack
grpc, java, python
Domain
backend, networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.