[JBoss JIRA] (TEIIDDES-3046) Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
by Barry LaFond (JIRA)
[ https://issues.jboss.org/browse/TEIIDDES-3046?page=com.atlassian.jira.plu... ]
Barry LaFond commented on TEIIDDES-3046:
----------------------------------------
[~rareddy] I think I understand your reasoning for setting the Data Source API calls the way you did. The assumption that users need to refrain from editing standalone.xml or running the server's CLI fell down the cracks on this one. [~cvanball] followed protocol and his RA is set-up correctly. And the impact is that Designer has to code-around these assumptions to prevent this particular use-case from failing.
> Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
> -------------------------------------------------------------------------------------------------------
>
> Key: TEIIDDES-3046
> URL: https://issues.jboss.org/browse/TEIIDDES-3046
> Project: Teiid Designer
> Issue Type: Bug
> Components: Data Preview
> Affects Versions: 10.0.2
> Environment: MacOS
> Red Hat JBoss Developer Studio 10.3.0.GA with JBoss Developer Studio Integration Stack 10.0.2 installed
> Reporter: Cojan van Ballegooijen
> Assignee: Barry LaFond
> Fix For: 11.0.2
>
> Attachments: Screen Shot 2017-03-01 at 10.16.26.png, Screen Shot 2017-03-01 at 10.16.46.png
>
>
> If a data source is already created on the JDV server runtime unable to preview data on the models.
> Workaround is to add these models into a VDB, deploy/execute VDB but Preview data should work despite the fact that the datasource JNDI names already exists on the server side.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIIDDES-3046) Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIIDDES-3046?page=com.atlassian.jira.plu... ]
Ramesh Reddy commented on TEIIDDES-3046:
----------------------------------------
That is true. The fully qualified identity is this case RA's id + pool-name. What I am saying is in the case of one using the Teiid Admin API, the ID and pool-name are defined same. So, pool-name == RA's ID. Thus my comment in earlier post saying the RA's ID is used as Identity. If you have questions see code [1]
Sure, if you create manually and use different names id and pool-names and try to manage it through Designer it is not going to align. These steps are taken to avoid many things like
- avoid restart of server
- provide the template mechnism
- treat RA equally as Databasource and provide a common facade
[1] https://github.com/teiid/teiid/blob/master/jboss-admin/src/main/java/org/...
> Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
> -------------------------------------------------------------------------------------------------------
>
> Key: TEIIDDES-3046
> URL: https://issues.jboss.org/browse/TEIIDDES-3046
> Project: Teiid Designer
> Issue Type: Bug
> Components: Data Preview
> Affects Versions: 10.0.2
> Environment: MacOS
> Red Hat JBoss Developer Studio 10.3.0.GA with JBoss Developer Studio Integration Stack 10.0.2 installed
> Reporter: Cojan van Ballegooijen
> Assignee: Barry LaFond
> Fix For: 11.0.2
>
> Attachments: Screen Shot 2017-03-01 at 10.16.26.png, Screen Shot 2017-03-01 at 10.16.46.png
>
>
> If a data source is already created on the JDV server runtime unable to preview data on the models.
> Workaround is to add these models into a VDB, deploy/execute VDB but Preview data should work despite the fact that the datasource JNDI names already exists on the server side.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIIDDES-3046) Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
by Barry LaFond (JIRA)
[ https://issues.jboss.org/browse/TEIIDDES-3046?page=com.atlassian.jira.plu... ]
Barry LaFond commented on TEIIDDES-3046:
----------------------------------------
[~rareddy] per the pool-name rules for RA's, I'm able to create to RA's with different ID's and JNDI names and the *same* pool-name. The call to *admin.getDataSourceNames()* will return only second RA and not the first. So assuming the runtime is building a Map and ending up with placing the last "pool-name" RA in the map?
> Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
> -------------------------------------------------------------------------------------------------------
>
> Key: TEIIDDES-3046
> URL: https://issues.jboss.org/browse/TEIIDDES-3046
> Project: Teiid Designer
> Issue Type: Bug
> Components: Data Preview
> Affects Versions: 10.0.2
> Environment: MacOS
> Red Hat JBoss Developer Studio 10.3.0.GA with JBoss Developer Studio Integration Stack 10.0.2 installed
> Reporter: Cojan van Ballegooijen
> Assignee: Barry LaFond
> Fix For: 11.0.2
>
> Attachments: Screen Shot 2017-03-01 at 10.16.26.png, Screen Shot 2017-03-01 at 10.16.46.png
>
>
> If a data source is already created on the JDV server runtime unable to preview data on the models.
> Workaround is to add these models into a VDB, deploy/execute VDB but Preview data should work despite the fact that the datasource JNDI names already exists on the server side.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIIDDES-3046) Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
by Van Halbert (JIRA)
[ https://issues.jboss.org/browse/TEIIDDES-3046?page=com.atlassian.jira.plu... ]
Van Halbert commented on TEIIDDES-3046:
---------------------------------------
Just did some testing and here's what I see when looking in the admin console:
- using one RA, the pool-name was assigned the "NAME" in the admin console.
- when the RA wasn't assigned a pool-name, it assinged the "NAME" from the name in the JNDI name
- when a 2nd RA is assigned with a duplicate pool-name, the RA "ID" was used.
however, the server wasn't consistent on the name it assigned.
When 2 RA's had the same pool, it used the RA "ID" name. And at that point, I couldn't get the server to go back to using the pool-name after I removed the 2nd RA. Even tried removing both, restarting server and then re-adding just one RA.
I can see relying on pool-name being problematic.
> Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
> -------------------------------------------------------------------------------------------------------
>
> Key: TEIIDDES-3046
> URL: https://issues.jboss.org/browse/TEIIDDES-3046
> Project: Teiid Designer
> Issue Type: Bug
> Components: Data Preview
> Affects Versions: 10.0.2
> Environment: MacOS
> Red Hat JBoss Developer Studio 10.3.0.GA with JBoss Developer Studio Integration Stack 10.0.2 installed
> Reporter: Cojan van Ballegooijen
> Assignee: Barry LaFond
> Fix For: 11.0.2
>
> Attachments: Screen Shot 2017-03-01 at 10.16.26.png, Screen Shot 2017-03-01 at 10.16.46.png
>
>
> If a data source is already created on the JDV server runtime unable to preview data on the models.
> Workaround is to add these models into a VDB, deploy/execute VDB but Preview data should work despite the fact that the datasource JNDI names already exists on the server side.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIIDDES-3046) Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIIDDES-3046?page=com.atlassian.jira.plu... ]
Ramesh Reddy commented on TEIIDDES-3046:
----------------------------------------
In the case of the Resource Adapter the "id" value is used as the identifier, as the life-cycle of the RA is currently NOT managed at the connection level, but at RA level. Typically
RA --*-->ConnectionFactory --*-->Connections
but typical usage has been
RA --1-->ConnectionFactory --*-->Connections
[*] = means multiple, [1] = means single connection factory
Since WildFly does not provide same level connection factory management at ConnectionFactory level without the restart of the server, the workaround was based on creating a single connection factory per RA. So, now since the pool name is at a different level than the management, Teiid Admin API uses the "id" at the RA as identifier. Even in the case when pool -name is omitted in RA, I am sure one is generated internally for management purposes. Note that this is *may* be true only if you are editing the standalone.xml file directly. If you are using CLI like below
{code}
/subsystem=resource-adapters/resource-adapter=file/connection-definitions=fileDS:add(jndi-name="${jndi.name}", class-name=org.teiid.resource.adapter.file.FileManagedConnectionFactory, enabled=true, use-java-context=true)
{code}
Note the "file" and "fileDS" in above code fragment, where "file" becomes the RA's id and "fileDS" becomes the connection-pool name. Since the Teiid Admin API uses the CLI underneath, it may generate some of these names automatically for you. When users mix and match between Designer usage and hand coding they may get into discrepancies, but as long they use single mechanism it should be fine, and 99% of time that is the case.
> Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
> -------------------------------------------------------------------------------------------------------
>
> Key: TEIIDDES-3046
> URL: https://issues.jboss.org/browse/TEIIDDES-3046
> Project: Teiid Designer
> Issue Type: Bug
> Components: Data Preview
> Affects Versions: 10.0.2
> Environment: MacOS
> Red Hat JBoss Developer Studio 10.3.0.GA with JBoss Developer Studio Integration Stack 10.0.2 installed
> Reporter: Cojan van Ballegooijen
> Assignee: Barry LaFond
> Fix For: 11.0.2
>
> Attachments: Screen Shot 2017-03-01 at 10.16.26.png, Screen Shot 2017-03-01 at 10.16.46.png
>
>
> If a data source is already created on the JDV server runtime unable to preview data on the models.
> Workaround is to add these models into a VDB, deploy/execute VDB but Preview data should work despite the fact that the datasource JNDI names already exists on the server side.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIIDDES-3046) Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIIDDES-3046?page=com.atlassian.jira.plu... ]
Ramesh Reddy edited comment on TEIIDDES-3046 at 4/17/17 11:47 AM:
------------------------------------------------------------------
In the case of the Resource Adapter the "id" value is used as the identifier, as the life-cycle of the RA is currently NOT managed at the connection level, but at RA level. Typically
RA -- * -->ConnectionFactory -- * -->Connections
but typical usage has been
RA -- 1 -->ConnectionFactory -- * -->Connections
[*] = means multiple, [1] = means single connection factory
Since WildFly does not provide same level connection factory management at ConnectionFactory level without the restart of the server, the workaround was based on creating a single connection factory per RA. So, now since the pool name is at a different level than the management, Teiid Admin API uses the "id" at the RA as identifier. Even in the case when pool -name is omitted in RA, I am sure one is generated internally for management purposes. Note that this is *may* be true only if you are editing the standalone.xml file directly. If you are using CLI like below
{code}
/subsystem=resource-adapters/resource-adapter=file/connection-definitions=fileDS:add(jndi-name="${jndi.name}", class-name=org.teiid.resource.adapter.file.FileManagedConnectionFactory, enabled=true, use-java-context=true)
{code}
Note the "file" and "fileDS" in above code fragment, where "file" becomes the RA's id and "fileDS" becomes the connection-pool name. Since the Teiid Admin API uses the CLI underneath, it may generate some of these names automatically for you. When users mix and match between Designer usage and hand coding they may get into discrepancies, but as long they use single mechanism it should be fine, and 99% of time that is the case.
was (Author: rareddy):
In the case of the Resource Adapter the "id" value is used as the identifier, as the life-cycle of the RA is currently NOT managed at the connection level, but at RA level. Typically
RA --*-->ConnectionFactory --*-->Connections
but typical usage has been
RA --1-->ConnectionFactory --*-->Connections
[*] = means multiple, [1] = means single connection factory
Since WildFly does not provide same level connection factory management at ConnectionFactory level without the restart of the server, the workaround was based on creating a single connection factory per RA. So, now since the pool name is at a different level than the management, Teiid Admin API uses the "id" at the RA as identifier. Even in the case when pool -name is omitted in RA, I am sure one is generated internally for management purposes. Note that this is *may* be true only if you are editing the standalone.xml file directly. If you are using CLI like below
{code}
/subsystem=resource-adapters/resource-adapter=file/connection-definitions=fileDS:add(jndi-name="${jndi.name}", class-name=org.teiid.resource.adapter.file.FileManagedConnectionFactory, enabled=true, use-java-context=true)
{code}
Note the "file" and "fileDS" in above code fragment, where "file" becomes the RA's id and "fileDS" becomes the connection-pool name. Since the Teiid Admin API uses the CLI underneath, it may generate some of these names automatically for you. When users mix and match between Designer usage and hand coding they may get into discrepancies, but as long they use single mechanism it should be fine, and 99% of time that is the case.
> Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
> -------------------------------------------------------------------------------------------------------
>
> Key: TEIIDDES-3046
> URL: https://issues.jboss.org/browse/TEIIDDES-3046
> Project: Teiid Designer
> Issue Type: Bug
> Components: Data Preview
> Affects Versions: 10.0.2
> Environment: MacOS
> Red Hat JBoss Developer Studio 10.3.0.GA with JBoss Developer Studio Integration Stack 10.0.2 installed
> Reporter: Cojan van Ballegooijen
> Assignee: Barry LaFond
> Fix For: 11.0.2
>
> Attachments: Screen Shot 2017-03-01 at 10.16.26.png, Screen Shot 2017-03-01 at 10.16.46.png
>
>
> If a data source is already created on the JDV server runtime unable to preview data on the models.
> Workaround is to add these models into a VDB, deploy/execute VDB but Preview data should work despite the fact that the datasource JNDI names already exists on the server side.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIIDDES-3046) Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
by Barry LaFond (JIRA)
[ https://issues.jboss.org/browse/TEIIDDES-3046?page=com.atlassian.jira.plu... ]
Barry LaFond commented on TEIIDDES-3046:
----------------------------------------
[~rareddy] [~van.halbert] Looks like both data source and resource adapter XSD's define *jndi-name* as *required*..... *pool-name* is required for data sources, but is *optional* for resource adapters.
So if pool-name is optional, then if resource adapters are configured without *pool-name*'s on a server (via CLI or by hand), does the Teiid server generate a *pool-name* the same as the *jndi-name*?
> Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
> -------------------------------------------------------------------------------------------------------
>
> Key: TEIIDDES-3046
> URL: https://issues.jboss.org/browse/TEIIDDES-3046
> Project: Teiid Designer
> Issue Type: Bug
> Components: Data Preview
> Affects Versions: 10.0.2
> Environment: MacOS
> Red Hat JBoss Developer Studio 10.3.0.GA with JBoss Developer Studio Integration Stack 10.0.2 installed
> Reporter: Cojan van Ballegooijen
> Assignee: Barry LaFond
> Fix For: 11.0.2
>
> Attachments: Screen Shot 2017-03-01 at 10.16.26.png, Screen Shot 2017-03-01 at 10.16.46.png
>
>
> If a data source is already created on the JDV server runtime unable to preview data on the models.
> Workaround is to add these models into a VDB, deploy/execute VDB but Preview data should work despite the fact that the datasource JNDI names already exists on the server side.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIIDDES-3046) Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIIDDES-3046?page=com.atlassian.jira.plu... ]
Ramesh Reddy commented on TEIIDDES-3046:
----------------------------------------
[~vhalbert2] ironjacammer XSD is wrong in their documentation or their usage in different inside the standalone container vs in the WildFly.
As I said above a JNDI name is NOT an identity, it is an alias to *some* object in the VM, which can be obtained by using Naming Service Context, aka think as registry.
> Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
> -------------------------------------------------------------------------------------------------------
>
> Key: TEIIDDES-3046
> URL: https://issues.jboss.org/browse/TEIIDDES-3046
> Project: Teiid Designer
> Issue Type: Bug
> Components: Data Preview
> Affects Versions: 10.0.2
> Environment: MacOS
> Red Hat JBoss Developer Studio 10.3.0.GA with JBoss Developer Studio Integration Stack 10.0.2 installed
> Reporter: Cojan van Ballegooijen
> Assignee: Barry LaFond
> Fix For: 11.0.2
>
> Attachments: Screen Shot 2017-03-01 at 10.16.26.png, Screen Shot 2017-03-01 at 10.16.46.png
>
>
> If a data source is already created on the JDV server runtime unable to preview data on the models.
> Workaround is to add these models into a VDB, deploy/execute VDB but Preview data should work despite the fact that the datasource JNDI names already exists on the server side.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIIDDES-3046) Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
by Ramesh Reddy (JIRA)
[ https://issues.jboss.org/browse/TEIIDDES-3046?page=com.atlassian.jira.plu... ]
Ramesh Reddy commented on TEIIDDES-3046:
----------------------------------------
Pool Name is the identity, JNDI is another property of the datasource. But when it comes to the naming service (JNDI Service) all the JNDI names in a VM need to be unique. JNDI is not specific to just data sources, it can be any object in the VM one needs to grab by a simple name.
> Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
> -------------------------------------------------------------------------------------------------------
>
> Key: TEIIDDES-3046
> URL: https://issues.jboss.org/browse/TEIIDDES-3046
> Project: Teiid Designer
> Issue Type: Bug
> Components: Data Preview
> Affects Versions: 10.0.2
> Environment: MacOS
> Red Hat JBoss Developer Studio 10.3.0.GA with JBoss Developer Studio Integration Stack 10.0.2 installed
> Reporter: Cojan van Ballegooijen
> Assignee: Barry LaFond
> Fix For: 11.0.2
>
> Attachments: Screen Shot 2017-03-01 at 10.16.26.png, Screen Shot 2017-03-01 at 10.16.46.png
>
>
> If a data source is already created on the JDV server runtime unable to preview data on the models.
> Workaround is to add these models into a VDB, deploy/execute VDB but Preview data should work despite the fact that the datasource JNDI names already exists on the server side.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months
[JBoss JIRA] (TEIIDDES-3046) Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
by Van Halbert (JIRA)
[ https://issues.jboss.org/browse/TEIIDDES-3046?page=com.atlassian.jira.plu... ]
Van Halbert commented on TEIIDDES-3046:
---------------------------------------
If the ironjacammar xsd indicates its optional:
{code}
<xs:attribute name="pool-name" type="xs:token" use="optional">
{code}
would that be a problem of using that as the unique id?
> Unable to preview data of file-based data source when the JNDI name already exist on the server runtime
> -------------------------------------------------------------------------------------------------------
>
> Key: TEIIDDES-3046
> URL: https://issues.jboss.org/browse/TEIIDDES-3046
> Project: Teiid Designer
> Issue Type: Bug
> Components: Data Preview
> Affects Versions: 10.0.2
> Environment: MacOS
> Red Hat JBoss Developer Studio 10.3.0.GA with JBoss Developer Studio Integration Stack 10.0.2 installed
> Reporter: Cojan van Ballegooijen
> Assignee: Barry LaFond
> Fix For: 11.0.2
>
> Attachments: Screen Shot 2017-03-01 at 10.16.26.png, Screen Shot 2017-03-01 at 10.16.46.png
>
>
> If a data source is already created on the JDV server runtime unable to preview data on the models.
> Workaround is to add these models into a VDB, deploy/execute VDB but Preview data should work despite the fact that the datasource JNDI names already exists on the server side.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
8 years, 7 months