eclipse-edc/MinimumViableDataspace

One azurite storage is used by every connector.

aramirezarsys opened this issue · 5 comments

Bug Report

Describe the Bug

Instead of having one unique azurite for every connector.
When creating one storage azurite for every connector in the following way:

azuriteX:
    container_name: azuriteX
    image: mcr.microsoft.com/azure-storage/azurite
    ports:
        - 1000X:10000
    environment:
        AZURITE_ACCOUNTS: companyXassets:keyX

When transfer is starting there are an error in the way due to following explication.
Next ones log lines explain how azurite behavior occurs:

Consumer Connector - - [20/Feb/2023:09:14:40 +0000] "GET /company3assets/0d67e9a0-a98e-4199-865f-e752f1d44b65?restype=container HTTP/1.1" 404 -
Consumer Connector - - [20/Feb/2023:09:14:40 +0000] "PUT /company3assets/0d67e9a0-a98e-4199-865f-e752f1d44b65?restype=container HTTP/1.1" 201 -
Provider Connector - - [20/Feb/2023:09:14:41 +0000] "GET /company1assets/src-container/text-document.txt HTTP/1.1" 206 467
Provider Connector - - [20/Feb/2023:09:14:41 +0000] "PUT /company3assets/0d67e9a0-a98e-4199-865f-e752f1d44b65/text-document.txt?sv=2021-08-06&se=2023-02-20T10%3A14%3A39Z&sr=c&sp=w&sig=bD8Ka1q26uRKFDF49swAk401%2FJPddw2KRHKe8OuYbas%3D HTTP/1.1" 400 -
Consumer Connector - - [20/Feb/2023:09:14:41 +0000] "GET /company3assets/0d67e9a0-a98e-4199-865f-e752f1d44b65?restype=container HTTP/1.1" 200 -
Consumer Connector - - [20/Feb/2023:09:14:41 +0000] "GET /company3assets/0d67e9a0-a98e-4199-865f-e752f1d44b65?restype=container&comp=list HTTP/1.1" 200 -

In other words:

  1. Consumer connector: verifies in its azurite that bucket either is created.
  2. Consumer connector: if bucket is not created yet then will be created.
  3. Provider connector: gets its own file
  4. Provider connector: tries to put the file in consumer bucket (thinking that is located in local azurite, that´s wrong because azurite storages are different located)
  5. Consumer connector: loops indefinitely waiting for file to be storaged in its own bucket, this will never occur.

Expected Behavior

Provider connector gives the content of the file to consumer connector and this one puts the file/content wherever it desires, not expecting for provider connector to put the file somewhere.

Observed Behavior

Mentioned before.

Steps to Reproduce

Mentioned before.

Context Information

  • OS: Ubuntu 20.04.5 LTS
  • WebBrowser used: Firefox, the last one at the moment to write this issue.

Detailed Description

Mentioned before.

Possible Implementation

Provider connector gives data/file/content/etc to consumer connector and this last one saves data/file/content/etc wherever it desires.

@aramirezarsys That is definitely not a bug, but was done to keep things simple at the beginning. The value that multiple azurite instances would provide was deemed insignificant compared to the increased deployment and testing complexity.
You are definitely welcome to contribute a more elaborate solution with multiple instances, we'd be happy to have it. However, be advised that that could also affect the testing.

This issue is stale because it has been open for 14 days with no activity.

This issue is stale because it has been open for 28 days with no activity.

This issue was closed because it has been inactive for 7 days since being marked as stale.

This issue was closed because it has been inactive for 7 days since being marked as stale.