[jboss-jira] [JBoss JIRA] (WFLY-10837) IIOP subsystem requires port binding to be defined which was not necessary in prior WFLY versions

Brian Stansberry (Jira) issues at jboss.org
Thu Oct 11 17:01:00 EDT 2018


    [ https://issues.jboss.org/browse/WFLY-10837?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13646987#comment-13646987 ] 

Brian Stansberry commented on WFLY-10837:
-----------------------------------------

[~pkremens] My guess is you were using EAP 7.0 when changing the model resulted in losing the orb element from the xml?  It looks like that was a bug in 7.0. I don't see that behavior in 7.1.  In your example both of those attributes were configured with their default values, and in the past there have been some bugs with xml marshallers not bothering to write default values even though the user explicitly set the attribute (in this case via the original xml).

Anyway, that explains how you are hitting this scenario.

[~tomekadamski] I see a couple issues here:

1) The failure at org.wildfly.iiop.openjdk.service.CorbaORBService.start(CorbaORBService.java:150) should never occur.  The model should have been rejected before CorbaService was even instantiated. I see there's a ConfigValidator class that's used for extra validation, so that could perhaps handle this.

2) The [ssl-]socket-binding attributes no longer have default values but the parsers for the legacy xsd versions do not preserve compatibility by adding in the legacy default values if no value was parsed. I've never used this before but it looks like the hook for doing that kind of extra thing is by using in the legacy parsers PersistentResourceXmlBuilder.setAdditionalOperationsGenerator. Pass in an AdditionalOperationsGenerator that will stick in the needed defaults if the attributes aren't already set.

BTW, it's valid that the metadata says neither 'socket-binding' nor 'ssl-socket-binding' is required. Neither is. It's just that at least one of them must be set, which is a situation that cannot be described via the metadata, except by the free form text description of the attributes.


> IIOP subsystem requires port binding to be defined which was not necessary in prior WFLY versions
> -------------------------------------------------------------------------------------------------
>
>                 Key: WFLY-10837
>                 URL: https://issues.jboss.org/browse/WFLY-10837
>             Project: WildFly
>          Issue Type: Bug
>          Components: IIOP
>            Reporter: Ondra Chaloupka
>            Assignee: Tomasz Adamski
>            Priority: Blocker
>             Fix For: 14.0.0.Final
>
>
> If the {{standalone-*.xml}} configuration defines to use IIOP subsystem but it does not defines the port binding element
> {code}
> <orb socket-binding="iiop"/>
> {code}
> The server starts with error
> {code}
> ERROR [org.jboss.msc.service.fail] (MSC service thread 1-5) MSC000001: Failed to start service jboss.iiop-openjdk.orb-service: org.jboss.msc.service.StartException in service jboss.iiop-openjdk.orb-service: java.lang.IllegalStateException: WFLYIIOP0115: No IIOP socket bindings have been configured
>  at org.wildfly.iiop.openjdk.service.CorbaORBService.start(CorbaORBService.java:150)
>  at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1736)
>  at org.jboss.msc.service.ServiceControllerImpl$StartTask.execute(ServiceControllerImpl.java:1698)
>  at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1556)
>  at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
>  at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1985)
>  at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1487)
>  at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1378)
>  at java.lang.Thread.run(Thread.java:748)
> Caused by: java.lang.IllegalStateException: WFLYIIOP0115: No IIOP socket bindings have been configured
>  at org.wildfly.iiop.openjdk.service.CorbaORBService.start(CorbaORBService.java:109)
>  ... 8 more
> {code}
> The attribute of the {{socket-binding}} in the model is not defined as {{required}}.
> {code}
>             "socket-binding" => {
>                 "type" => STRING,
>                 "description" => "The name of the socket binding configuration that specifies the ORB port.",
>                 "attribute-group" => "orb",
>                 "expressions-allowed" => false,
>                 "required" => false,
>                 "nillable" => true,
>                 "min-length" => 1L,
>                 "max-length" => 2147483647L,
>                 "access-constraints" => {"sensitive" => {"socket-binding-ref" => {"type" => "core"}}},
>                 "access-type" => "read-write",
>                 "storage" => "configuration",
>                 "restart-required" => "all-services"
>             }
> {code}
> Up to that declaring the iiop socket binding was not necessary in WildFly 13.0.0.Final. Could that be a backward compatibility problem too?
> Up to that 



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the jboss-jira mailing list