Backported the changes without the modifications to the notion of an active vdb. The timeout can be controlled from the client side via the waitForLoad (in millis) property and the system default can be set via the org.teiid.clientVdbLoadTimeoutMillis, which defaults to five minutes. Both are referenced in the docs. The default behavior if a vdb version is specified is to wait. The user may disable this with waitForLoad=0.
In AS 5.1 the teiid deployer should run immediately after datasources have been deployed. To prevent problems with initial connections, the min pool size of any local teiid data sources should be 0 (as mentioned in the docs). Any service that then starts after teiid is deployed and attempts to make a local connection, will then wait as appropriate for an active VDB. On AS 5.1 / Teiid 7.7.x this also means that any source that is not available (which would mark the vdb as invalid) will cause the connection to wait. On Teiid 8.1 all we wait for is the vdb to be in a queryable state, which means that the metadata has been loaded.
Backported the changes without the modifications to the notion of an active vdb. The timeout can be controlled from the client side via the waitForLoad (in millis) property and the system default can be set via the org.teiid.clientVdbLoadTimeoutMillis, which defaults to five minutes. Both are referenced in the docs. The default behavior if a vdb version is specified is to wait. The user may disable this with waitForLoad=0.
In AS 5.1 the teiid deployer should run immediately after datasources have been deployed. To prevent problems with initial connections, the min pool size of any local teiid data sources should be 0 (as mentioned in the docs). Any service that then starts after teiid is deployed and attempts to make a local connection, will then wait as appropriate for an active VDB. On AS 5.1 / Teiid 7.7.x this also means that any source that is not available (which would mark the vdb as invalid) will cause the connection to wait. On Teiid 8.1 all we wait for is the vdb to be in a queryable state, which means that the metadata has been loaded.