Post-Upgrade Tasks for the New Installation¶
After importing the settings and metadata into the Denodo Platform 9, follow these steps:
If you do not use a module, skip its post-upgrade tasks.
Common to All Components¶
Configure the Connection to the Denodo Security Token Server¶
In all the installations of the Denodo Platform - not the Solution Manager - do this:
in the file <DENODO_HOME>/conf/SSOConfiguration.properties
, set these properties:
sso.url=https://solution-manager.acme.com:19443
sso.token-enabled=true
We recommend enabling HTTPS on the web container of the Solution Manager but if you did not, in the property sso.url
, the port is 19090 instead of 19443.
Restart the server components of the Denodo Platform for this change to apply.
This change is necessary so the components of the Denodo Platform can reach the Denodo Security Token Server, which is part of the Solution Manager.
If you do not do this, the Solution Manager will not be able to deploy revisions or to monitor the Virtual DataPort servers.
In Denodo 7.0 this was not necessary but it is in 9 (and 8.0).
Review Memory Allocation In Production Servers¶
If this is an installation for a production environment, verify that the memory allocated to each module of the Denodo Platform and Solution Manager is at least the same you had allocated in the previous version. Read more about this in the section Recommended settings for the JVM of the Knowledge Base article “Denodo Admin and Development Best Practices”:https://community.denodo.com/kb/en/view/document/Denodo%20Admin%20and%20Development%20Best%20Practices.
If you are upgrading from Denodo 7.0 or earlier - not if you are upgrading from Denodo 8.0 - we strongly recommend increasing the amount of memory allocated to the Tomcat of Denodo Platform. To be on the safe side, we suggest doubling the amount of memory. This is necessary because the REST web services of Denodo, use more memory than in 7.0.
To do this, log in to Design Studio 9 and execute the following query. This returns the arguments passed to the Java Virtual Machine (JVM) that runs the Tomcat of the Denodo Platform.
SELECT property_value
FROM GET_PARAMETER()
WHERE input_property_name = 'java.env.DENODO_OPTS_START'
AND input_is_web_container_property = TRUE;
Copy the value returned by this statement and modify the value of the argument -Xmx
and then, execute the command WEBCONTAINER SET 'java.env.DENODO_OPTS_START' = '<new value>';
. See below and example of what you have to run:
WEBCONTAINER SET 'java.env.DENODO_OPTS_START' = '-Xmx2g -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true -Dorg.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=true';
If you want to allocate four gigabytes of memory, put -Xmx4g
instead of -Xmx2g
(you can put the number of gigabytes you want but we strongly recommend to never be higher than 16).
To apply this change, stop all the components of the Denodo Platform. Then, execute <DENODO_HOME>/bin/webcontainer_shutdown
to make sure the web container is stopped, and start all the components again. Repeat this for the installation of the Solution Manager.
Virtual DataPort¶
Log in to Virtual DataPort with Design Studio, with an administrator account, and follow these steps:
Connctivity to data sources: for each data source, query one base view of each data source to validate the connection to the source.
Execute views that have the cache disabled so the query hits the source and not the cache database.
If a connection to a source fails, it may be because the connection requires an SSL certificate that needs to be imported to
<DENODO_HOME_9_0>/jre/lib/security/cacerts
.If a connection to a secure LDAP source fails (possibly with a
No subject alternative DNS name matching <HOSTNAME> found
error), check this article in the Denodo Knowledge Base.If you got a warning indicating that one or more views were using the parameter
QUERYPLAN
, do this:Enable the cost-based optimizer.
Gather the statistics of this view and the subviews of this view.
Obtain the query plan of the view to see if it is the same it was indicated by the parameter “QUERYPLAN”.
Cache of views with cache mode full: if you configured the cache engine of the version 9 to use a different catalog/schema, the cache of the views with mode full or partial - explicit loads is empty. Therefore, the queries to these views will return 0 rows. You either need to run the Scheduler jobs that load the cache of these views (if you have them) or load them manually.
To load the cache of these views manually, from the VQL Shell, follow these steps. Note that doing this may take a long time. During this time, you cannot close the tab VQL Shell.
Select the check box Retrieve all rows and set Limit displayed rows to 1000.
Execute this query. This returns the statements to load the cache of the views that require it:
SELECT 'SELECT * FROM "' || database_name || '"."' || name || '" CONTEXT (''cache_preload''=''true'', ''cache_invalidate'' = ''all_rows'', ''cache_wait_for_load''=''true'', ''cache_return_query_results'' = ''false'');' AS query FROM get_views() WHERE view_type IN (0, 1) AND cache_status in (3, 4, 5) ORDER BY 1;
If this query returned 1,000 rows (i.e. the Limit displayed rows), the result may have more than the Limit displayed rows so you will not obtain the query to load the cache of all the views. In that case, increase temporarily this limit. To do this, logout from Design Studio, go to the page “/denodo-design-studio/#/web-local-login” and in Application settings, change Maximum number of rows displayed to 999999. Logout, log in again in “/denodo-design-studio” and execute this query again to obtain all the rows.
Click Copy displayed results to clipboard (in the Administration Tool, click a row of the result and press Ctrl+A).
Paste the rows on the VQL Shell and click Execute to execute all the queries.
These queries will load the cache of the views with mode full or partial - explicit loads.
Recreate materialized tables: when you import the metadata from version 8.0, the materialized tables are created but they are empty. The VQL file includes the metadata but not the data.
Execute this query to obtain the list of materialized tables:
SELECT database_name, name FROM get_views() WHERE input_view_type = 3;
Kerberos authentication: if in the version 8.0, you enabled Kerberos authentication in Virtual DataPort, it is now enabled in version 9.
If during the upgrade process, you created a new Kerberos Service Principal Name (SPN) for this installation, open the Kerberos configuration of this Virtual DataPort and change the SPN and upload the new keytab file.
In the subsection Kerberos of the page Preparing to Upgrade, we discuss when you need to create a new SPN.
DenodoConnect components: the VQL file obtained from Virtual DataPort 8.0 includes the DenodoConnect components you had installed. As you have imported this file, their functionality is also available in your Denodo 9 server because the DenodoConnect components for Denodo 7.0 and 8.0, are compatible with Denodo 9.
VCS: In the databases where you enabled VCS, push the changes to the new repository.
Increase the Memory Allocated to the Tomcat of Denodo Platform¶
If you are upgrading from Denodo 7.0 or earlier - not if you are upgrading from Denodo 8.0 - we strongly recommend increasing the amount of memory allocated to the Tomcat of Denodo Platform. To be on the safe side, we suggest doubling the amount of memory. This is necessary because the REST web services of Denodo, now use more memory.
To do this, log in to Design Studio 9 and execute the following query. This returns the arguments passed to the Java Virtual Machine (JVM) that runs the Tomcat of the Denodo Platform.
SELECT property_value
FROM GET_PARAMETER()
WHERE input_property_name = 'java.env.DENODO_OPTS_START'
AND input_is_web_container_property = TRUE;
Copy the value returned by this statement and modify the value of the argument -Xmx
and then, execute the command WEBCONTAINER SET 'java.env.DENODO_OPTS_START' = '<new value>';
. See below and example of what you have to run:
WEBCONTAINER SET 'java.env.DENODO_OPTS_START' = '-Xmx2g -Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true -Dorg.apache.catalina.connector.CoyoteAdapter.ALLOW_BACKSLASH=true';
If you want to allocate four gigabytes of memory, put -Xmx4g
instead of -Xmx2g
(you can put the number of gigabytes you want but we strongly recommend to never be higher than 16).
To apply this change, stop all the components of the Denodo Platform. Then, execute <DENODO_HOME>/bin/webcontainer_shutdown
to make sure the web container is stopped, and start all the components again. Repeat this for the installation of the Solution Manager.
Design Studio¶
Log in to the preferences area of Design Studio and follow these steps:
If in Design Studio of the previous version you increased the query timeout, do the same in the Design Studio 9.
If you enabled Kerberos authentication, you have to enable it in Design Studio 9 as well.
After importing the metadata to the new version of the Server, if the previous installation is configured to use Kerberos to authenticate users, the new installation will be configured to do that as well.
The page Design Studio Preferences explains how to do this.
Virtual DataPort Administration Tool¶
If in the administration tools of the previous version you increased the query timeout, do the same in the administration tools of the new version.
If you enabled Kerberos authentication, you have to enable it in the administration tools as well.
After importing the metadata to the new version of the Server, if the previous installation is configured to use Kerberos to authenticate users, the new installation will be configured to do that as well.
Embedded MPP¶
Follow the instructions in section Upgrade to Embedded MPP 9 of the Embedded MPP Guide.
Data Catalog¶
Log in to Data Catalog with an administrator account and verify this:
Update the URL of Virtual DataPort: in Administration > Set-up > Server, enter the URL of Virtual DataPort 9.
Update the URL to the Index Server: in Administration > Set-up > Content Search, check that the right Index Server is configured. If you use Scheduler Index, enter the URL of Scheduler Index 9.
Synchronize the metadata: click Administration > Synchronize with VDP Server to do it.
Configure the Gathering of Statistics: if in 8.0, you periodically gather the usage statistics of Data Catalog, configure the new version to do the same. The section Usage Statistics of the Data Catalog Guide explains how to do this. Note that in version 9, the process is simpler than in previous version.
Kerberos: if you created a new Kerberos Service Principal Name (SPN) for this installation of Denodo, open the Kerberos configuration of this Virtual DataPort and change the SPN and upload the new keytab file.
Scheduler¶
If in the version 8.0, you installed DenodoConnect plugins for Scheduler, download these plugins from the Denodo Support Site, for the new version 9. Then, remove the existing plugins and import the new ones.
If you created a new Kerberos Service Principal Name (SPN) for this installation of Denodo, open the Kerberos configuration of Scheduler and change the SPN and upload the new keytab file.
Scheduler Index¶
Copy the Index Files: copy the content of the directory
<DENODO_HOME_7_0>/work/arn/data/index/
to<DENODO_HOME_9_0>/work/arn/data/index/
.Configure the indexes: in the Scheduler Administration Tool, click the menu Administration > Index server > Indexes. Edit each index to update the directory where the index is located.
Solution Manager¶
Active monitors: if you have monitors that are active permanently, activate them in the new version.
Kerberos Configuration: if you enabled Kerberos on the Solution Manager 8.0, copy the following files to your Desktop:
The keytab file of the Solution Manager 7.0.
If you use a custom
krb5
file, copy it as well.
Then, log in to the Solution Manager 9 and enable Kerberos using these files.
You can only use the same keytab if the new version is installed on the same host or if the client applications will access through the same alias in the load balancer. That is because, the SPN of the keytab has to match the host name of the URL that the client applications use to connect to Virtual DataPort, Data Catalog, etc. Otherwise, you need to obtain a new keytab for the new computer.
This assumes that you use the same keytab for all the components of the Denodo Platform, which is the usual scenario.
If you enabled Kerberos in Virtual DataPort or Scheduler but not the Solution Manager, you do not have to do this. That is because their Kerberos configuration is transferred when importing the metadata of the version 8.0 into the new version.
External Applications: Upgrade the JDBC and ODBC Drivers¶
This section is about the client applications that connect to Virtual DataPort using the JDBC driver or the ODBC driver of Denodo.
JDBC Driver
If you are upgrading from Denodo 8.0:
You do not need to update the driver right now but we recommend that in the future you do.
The driver of 8.0 can connect to Virtual DataPort version 9 and the driver of 9 can connect to Virtual DataPort 8.0.
If you are upgrading from Denodo 7.0 or 6.0:
In the client applications that connect to Virtual DataPort 9, replace the old driver with the new driver of Denodo 9. The JDBC driver of 7.0 and 6.0 cannot connect to Virtual DataPort 9 and the driver of the version 9 cannot connect to Virtual DataPort 7.0 nor 6.0.
If in your applications, the connection URL to Denodo has the parameter “reuseRegistrySocket”, remove it. Otherwise, the connection will fail. This parameter has been removed (see more about this in the section JDBC Driver: Property reuseRegistrySockets of this guide).
See more about this in the page Backward Compatibility Between the Virtual DataPort Server and Its Clients.
The JDBC driver of Denodo 8.0 is available in the Denodo Community.
ODBC Driver
You do not need to update the ODBC driver right now but we recommend that in the future you do. See more about this in the page Backward Compatibility Between the Virtual DataPort Server and Its Clients.