Skip to content

about transfer-03-consumer-pull. [A binding for port 19291 already exists] #376

@lesile231

Description

@lesile231

Bug Report

Describe the Bug

A clear and concise description of the bug.

When trying to run the provider in the transfer-03-consumer-pull example, I get the following error.

  • ERROR_MESSAGE
    Samples > java -Dedc.fs.config=transfer/transfer-03-consumer-pull/resources/configuration/provider.properties
    -jar transfer/transfer-03-consumer-pull/provider-proxy-data-plane/build/libs/connector.jar
SEVERE 2025-02-20T01:30:54.707069 Error booting runtime: A binding for port 19291 already exists
java.lang.IllegalArgumentException: A binding for port 19291 already exists
        at org.eclipse.edc.web.jetty.PortMappingRegistryImpl.register(PortMappingRegistryImpl.java:35)
        at org.eclipse.edc.connector.dataplane.api.DataPlanePublicApiV2Extension.initialize(DataPlanePublicApiV2Extension.java:84)
        at org.eclipse.edc.boot.system.injection.lifecycle.ExtensionLifecycleManager.bootServiceExtensions(ExtensionLifecycleManager.java:54)
        at org.eclipse.edc.boot.system.runtime.BaseRuntime.bootExtensions(BaseRuntime.java:162)
        at org.eclipse.edc.boot.system.runtime.BaseRuntime.boot(BaseRuntime.java:101)
        at org.eclipse.edc.boot.system.runtime.BaseRuntime.main(BaseRuntime.java:79)
Exception in thread "main" org.eclipse.edc.spi.EdcException: java.lang.IllegalArgumentException: A binding for port 19291 already exists
        at org.eclipse.edc.boot.system.runtime.BaseRuntime.onError(BaseRuntime.java:152)
        at org.eclipse.edc.boot.system.runtime.BaseRuntime.boot(BaseRuntime.java:116)
        at org.eclipse.edc.boot.system.runtime.BaseRuntime.main(BaseRuntime.java:79)
Caused by: java.lang.IllegalArgumentException: A binding for port 19291 already exists
        at org.eclipse.edc.web.jetty.PortMappingRegistryImpl.register(PortMappingRegistryImpl.java:35)
        at org.eclipse.edc.connector.dataplane.api.DataPlanePublicApiV2Extension.initialize(DataPlanePublicApiV2Extension.java:84)
        at org.eclipse.edc.boot.system.injection.lifecycle.ExtensionLifecycleManager.bootServiceExtensions(ExtensionLifecycleManager.java:54)
        at org.eclipse.edc.boot.system.runtime.BaseRuntime.bootExtensions(BaseRuntime.java:162)
        at org.eclipse.edc.boot.system.runtime.BaseRuntime.boot(BaseRuntime.java:101)
        ... 1 more

When I run a provider from another example that users the same port (19291), there's no issue, which indicates that port 19291 is currently not in use. So this suggests that ports are being overlapped during startup in the "transfer-03-consumer-pull" case. I've tested to change a value "web.http.public.port=19291" to "web.http.public.port=19296" in the "transfer/transfer-03-consumer-pull/resources/configuration/provider.properties", which makes just "A binding for port 19291 already exists" error message to "A binding for port 19296 already exists". It absolutely occurs in the example.

I tried run this example with removing the portMappingRegistry.register part in the initialize function of CustomProxyPlaneExtension.java file. Then, the port overlap issue disappeared, although it is not working well for other problem.

Expected Behavior

A clear and concise description of what you expected to happen.
it would be run without errors..

Steps to Reproduce

Steps to reproduce the behavior:
follow the instructions of "transfer-03-consumer-pull" example.

Context Information

Add any other context about the problem here.

  • I guess that "the portMappingRegistry.register part in the initialize function of CustomProxyPlaneExtension.java file"

Detailed Description

If applicable, add screenshots and logs to help explain your problem.

  • MAC OS (Sequioa 15.3)
  • USING DOCKER
  • VISUAL STUDIO

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions