[teiid-issues] [JBoss JIRA] (TEIID-3632) Performance issue retrieving data source and translator definitions through the AdminFactory

Steven Hawkins (JIRA) issues at jboss.org
Mon Aug 24 15:38:26 EDT 2015


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

Steven Hawkins commented on TEIID-3632:
---------------------------------------

>From the log/code - admin.getDataSource("ldap1") 

will get all ~22 resource-adapters 3 times:  Once in getDataSourceNames/getConnectionFactoryNames, then getConnectionFactoryNames, and again in getResourceAdapterNames when the driver-name is null.

This is repeated for each data source, so yes there is an excessive number of calls.  This could be consolidated to a single call per datasource, but there's still the issue that getDataSource for a single source will still iterate over all resource-adapters.  Is there any way to avoid that?



> Performance issue retrieving data source and translator definitions through the AdminFactory
> --------------------------------------------------------------------------------------------
>
>                 Key: TEIID-3632
>                 URL: https://issues.jboss.org/browse/TEIID-3632
>             Project: Teiid
>          Issue Type: Bug
>          Components: AdminApi
>            Reporter: Barry LaFond
>            Assignee: Ramesh Reddy
>             Fix For: 8.12
>
>         Attachments: server_refresh_cli_log.txt
>
>
> Based on the issue described in  TEIIDDES-2592, we discovered that connecting to a remote server that contained ~ 40 data sources required > 10 minutes to refresh the Server view in Teiid Designer.  After some debugging it appeared that some of the current behavior in AdminFactory results multiple redundant CLI calls to retrieve intermediate information to compile even a simple list of data source names.
> In Teiid Designer, we modified our forked Admin8Factory to define a few cached sets of data that get cleared if data is changed by our ExecutionAdmin class for any created or deleted data sources.
> Note that Designer's Server management paradigm includes the requirement to view the DS/Translator/VDB contents on the server.
> So I'm assuming that there could be some benefit if Teiid AdminFactory adapted a similar approach to improving the performance/behavior of the internal methods of this class. 
> see: https://github.com/Teiid-Designer/teiid-designer/blob/master/plugins/teiid/org.teiid.runtime.client/src/org/teiid/runtime/client/admin/v8/Admin8Factory.java for details



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


More information about the teiid-issues mailing list