Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Qlik offers a wide range of channels to assist you in troubleshooting, answering frequently asked questions, and getting in touch with our technical experts. In this article, we guide you through all available avenues to secure your best possible experience.
For details on our terms and conditions, review the Qlik Support Policy.
Index:
We're happy to help! Here's a breakdown of resources for each type of need.
Support | Professional Services (*) | |
Reactively fixes technical issues as well as answers narrowly defined specific questions. Handles administrative issues to keep the product up-to-date and functioning. | Proactively accelerates projects, reduces risk, and achieves optimal configurations. Delivers expert help for training, planning, implementation, and performance improvement. | |
|
|
(*) reach out to your Account Manager or Customer Success Manager
Your first line of support: https://community.qlik.com/
Looking for content? Type your question into our global search bar:
Leverage the enhanced and continuously updated Knowledge Base to find solutions to your questions and best practice guides. Bookmark this page for quick access!
Subscribe to maximize your Qlik experience!
The Support Updates Blog
The Support Updates blog delivers important and useful Qlik Support information about end-of-product support, new service releases, and general support topics. (click)
The Qlik Design Blog
The Design blog is all about product and Qlik solutions, such as scripting, data modelling, visual design, extensions, best practices, and more! (click)
The Product Innovation Blog
By reading the Product Innovation blog, you will learn about what's new across all of the products in our growing Qlik product portfolio. (click)
Q&A with Qlik
Live sessions with Qlik Experts in which we focus on your questions.
Techspert Talks
Techspert Talks is a free webinar to facilitate knowledge sharing held on a monthly basis.
Technical Adoption Workshops
Our in depth, hands-on workshops allow new Qlik Cloud Admins to build alongside Qlik Experts.
Qlik Fix
Qlik Fix is a series of short video with helpful solutions for Qlik customers and partners.
Suggest an idea, and influence the next generation of Qlik features!
Search & Submit Ideas
Ideation Guidelines
Get the full value of the community.
Register a Qlik ID:
Incidents are supported through our Chat, by clicking Chat Now on any Support Page across Qlik Community.
To raise a new issue, all you need to do is chat with us. With this, we can:
Log in to manage and track your active cases in the Case Portal. (click)
Please note: to create a new case, it is easiest to do so via our chat (see above). Our chat will log your case through a series of guided intake questions.
When creating a case, you will be prompted to enter problem type and issue level. Definitions shared below:
Select Account Related for issues with your account, licenses, downloads, or payment.
Select Product Related for technical issues with Qlik products and platforms.
If your issue is account related, you will be asked to select a Priority level:
Select Medium/Low if the system is accessible, but there are some functional limitations that are not critical in the daily operation.
Select High if there are significant impacts on normal work or performance.
Select Urgent if there are major impacts on business-critical work or performance.
If your issue is product related, you will be asked to select a Severity level:
Severity 1: Qlik production software is down or not available, but not because of scheduled maintenance and/or upgrades.
Severity 2: Major functionality is not working in accordance with the technical specifications in documentation or significant performance degradation is experienced so that critical business operations cannot be performed.
Severity 3: Any error that is not Severity 1 Error or Severity 2 Issue. For more information, visit our Qlik Support Policy.
If you require a support case escalation, you have two options:
When other Support Channels are down for maintenance, please contact us via phone for high severity production-down concerns.
A collection of useful links.
Qlik Cloud Status Page
Keep up to date with Qlik Cloud's status.
Support Policy
Review our Service Level Agreements and License Agreements.
Live Chat and Case Portal
Your one stop to contact us.
A Qlik Replicate task fails and stops with the error:
[INFRASTRUCTURE ]E: Json doesn't start with '{' [1003001] (at_cjson.c:1790)
Resuming the task may lead to this error message as the last saved file was improperly saved.
Restart the task from a timestamp instead of resuming the task to regenerate the file:
If the target system uses files, such as ADLS or Databricks), a network disconnect occurring while a file is being pushed to the target can lead to an incomplete file being saved on the Qlik Replicate server. When the file is saved improperly, the task will not be able to use it to resume the task.
Regeneration of the last file will be needed.
"RestConnectorMasterTable" General Script Error in statement handling
RestConnectorMasterTable:
20200826T102106.344+0000 0088 SQL SELECT
20200826T102106.344+0000 0089 "name",
20200826T102106.344+0000 0090 "value"
20200826T102106.344+0000 0091 FROM JSON (wrap off) "contactCustomData"
20200826T102106.344+0000 0092 WITH CONNECTION (
20200826T102106.344+0000 0093 URL " ",
20200826T102106.344+0000 0094 HTTPHEADER "Authorization" "**Token removed for security purpose**"
20200826T102106.344+0000 0095 )
20200826T102106.967+0000 General Script Error in statement handling
20200826T102106.982+0000 Execution Failed
20200826T102106.986+0000 Execution finished.
Qlik Sense Enterprise on Windows
To be able to catch the exact error and mitigate the issue they need to apply our recommended best practices for error handling in Qlik scripting using the Error variables
Error variables
Script control statements
Set to ErrorMode=0 it will ignore any errors and continue with the script. You can use the IF statement to retry the connection or move to another connection for a few attempts and then it will change it to ErrorMode=1 and fail or just disconnect on its own.
A sample script is located here, but further options can be added from the Help links already provided.
Qlik-Sense-fail-and-retry-connection-sample-script
Note: QlikView scripting is the same in these functions for Qlik Sense unless otherwise stated, but there are some very helpful items in the links.
Best-Practice-Error-Handling-in-Script
Error with the fetch of the token with the rest call. If the number of rows in a table doesn't match or is less than expected, trigger the script to throw an error and have it try to load the table again for more records, or if the count is off, do a Loop until returns the correct number.
QB-3164
When running a Qlik Replicate CDC task from the Microsoft SQL Server source endpoint, you may get the below error, but the task continues to run despite being marked as errored. This is because the error is considered a recoverable error and the task eventually resumes fine once it finds the LSN in the next run.
Edit the MS-SQL source endpoint setting and add the internal parameter afterConnectScript using the Qlik Replicate GUI.
The Qlik Replicate user configured to read the MS-SQL must be a SYSADMIN
A possible reason for this is that the task might be behind, and the online log is truncated, but the Replicate in the recovery attempt can find the LSN in the online/Active logs.
Connecting to a local GeoAnalytics servers fails with Error: Invalid Key , Error Message Either your key is invalid or it has expired
The message Invalid Key can also be displayed on the map objects when using the GeoAnalytic extensions:
Using internal GeoAnalytics server:
The licenses for GeoAnalytics connector and map extensions must match the license applied to the GeoAnalytics server. If not, please re-license the connector or the server as instructed in the following articles:
Installing Qlik GeoAnalytics server
Installing Qlik GeoAnalytics for Qlik Sense
However, in some circumstances, the license key may not take effect due to no connection to the Internet. Then, manual change needs to be done in the configuration files for GeoAnalytics connector, extensions, or server:
QlikSense server
GeoAnalytics connector: C:\Program Files\Common Files\Qlik\Custom Data\QvIdevioConnector\IdevioGeoAnalyticsConnector.exe.config
Example:
<add key="licenseKey" value="0000000011111111:1654281610406"/>
GeoAnalytics extensions: \\<file shared server>\QlikShare\StaticContent\Extensions\ideviomap\License.js
1. edit License file
Example
define([], function () {return "00000001111111"});
QlikView server
GeoAnalytics connector: C:C:\Program Files\Common Files\QlikTech\Custom Data\QvIdevioConnector\IdevioGeoAnalyticsConnector.exe.config
Example:
<add key="licenseKey" value="0000000011111111:1654281610406"/>
QlikView GeoAnalytics extensions:
C:\ProgramData\QlikTech\QlikViewServer\Extensions\Objects
or
C:\Users\YourAdminName\AppData\Local\QlikTech\QlikView\Extensions\Objects
or
Open the QV QMC - Sytem - QlikView Servers - Folders
Check the System Folder for "Alternate Extensions Path"
1. edit License file
Example
define([], function () {return '00000001111111';});
GeoAnalytics server
C:\ProgramData\Qlik GeoAnalytics Server\server3\config\IdevioLicenses.lef
Please make sure all license information in the above files match. If not, please manually change it accordingly.
Using Qlik GeoAnalytics Server:
Verify the license has been applied to the correct installation path. The extensions are stored in the StaticContent folder within the shared directory. To verify the path of the StaticContent folder, go to QMC > Service Cluster.
Run the license tool (C:\Program Files (x86)\QlikView\GeoAnalyticsLicenseTool) using Custom Installation with the path listed for Static Content root folder with '\extensions\' appended.
Example: \\servername\Share\StaticContent\Extensions
After the license is applied successfully, go back to the app, refresh the page, and verify the map appears as expected.
When using Qlik Replicate 2024.5 Initial Release, SP01, and SP02, reading transactions from DB2 iSeries receivers and using ODBC driver 7.1.25 (aka iAccess13.64.25 and older), the decimal point in a Numeric/decimal fields in the target environment was in the wrong place.
Example:
DB2 iSeries
SOURCE Column: ColA decimal (9, 1) NOT NULL
Source Data shows 20.0
Target Data shows 200.0
This is a known issue in Qlik Replicate starting with the version 2024.5 initial release. Qlik has supplied a fix in Qlik Replicate 2024.5 SP03.
Product Defect ID: RECOB-8827
You are a prospective customer and are looking to purchase a Qlik Cloud subscription.
You are a prospective customer, having never purchased Qlik licenses before and are interested in learning more about Qlik products and making a purchase:
You are an existing Customer, having previously purchased a license directly from Qlik and wish to purchase additional licenses or CALs:
You are an existing Customer and purchased your licenses through a third party (not directly from Qlik) and wish to purchase additional licenses or CALs:
Some script logs are not transferred to Archive log Folder.
Storage Locations:
Qlik Sense log folder:
C:\ProgramData\Qlik\Sense\Log\Script
Log names consist out of the AppID and a year, date, and timestamp.
Archived log Folder:
\\SERVICECLUSTER-SHARE\ArchivedLogs\NodeName\Script
Log names consist out of the AppID and a year, date, and timestamp.
By design, not all script logs are transferred to the Archived logs folder. Reloads executed from the hub are not transferred.
1. When reloading data in app via hub, Script log will be left in Script log folder C:\ProgramData\Qlik\Sense\Log\Script
2. When reloading data via QMC/task, Script log will be transferred to Archived logs folder \\SERVICECLUSTER-SHARE\ArchivedLogs\NodeName\Script
PostgreSQL has identified a vulnerability (CVE-2025-1094) that allows for SQL injection under certain scenarios. For more information, see CVE-2025-1094: PostgreSQL quoting APIs miss neutralizing quoting syntax in text that fails encoding validation.
To allow for quick mitigation of PostgreSQL vulnerabilities, Qlik offers the ability to run and manage your own PostgreSQL instance independently of what Qlik Sense Enterprise on Windows is shipped with. This allows for direct control of your PostgreSQL instance and facilitates maintenance without a dependency on Qlik Sense. Further Database upgrades can then be performed independently and in accordance with your corporate security policy when needed, as long as you remain within the supported PostgreSQL versions.
If you have installed a standalone PostgreSQL database, or if you have used the Qlik PostgreSQL Installer (QPI) to upgrade and decouple your previously bundled database, then you can upgrade PostgreSQL at any time. This means you control maintenance and can immediately react to potential PostgreSQL security concerns by upgrading to a later service release or a later major version.
See Qlik Sense Enterprise on Windows: How To Upgrade Standalone PostgreSQL.
Verify your Qlik Sense Enterprise on Windows version's System Requirements before committing to a PostgreSQL version.
This is the preferred method to gain direct control of your PostgreSQL instance. For instructions, see Upgrading and unbundling the Qlik Sense Repository Database using the Qlik PostgreSQL Installer.
The Qlik Sense Repository Database (QSR) can be moved to a dedicated standalone PostgreSQL instance not hosted on the same machine as other Qlik Sense Services. This will retain the Qlik Postgre Service. See How to configure Qlik Sense to use a dedicated PostgreSQL database for details.
SUPPORT-896
This video will demonstrate how to install and configure Qlik-CLI for SaaS editions of Qlik Sense.
Content:
get-command qlik
choco install qlik-cli
if ( -not (Test-Path $PROFILE) ) {
echo "" > $PROFILE
}
qlik completion ps > "./qlik_completion.ps1" # Create a file containing the powershell completion.
. ./qlik_completion.ps1 # Source the completion.
Advanced and additional instructions as seen in the video can be found at Qlik-CLI on Qlik.Dev. Begin with Get Started.
This article provides some "tips" to troubleshoot issues related to Signing Commits and Tags with GPG in the standard Git storage mode.
To generate a trace
# Main Debug Trace switch
org.eclipse.egit.core/debug = true
# General trace location for the EGit Core Plugin
org.eclipse.egit.core/debug/core = true
# Trace location for GPG signing
org.eclipse.egit.core/debug/core/gpg = true
# Trace location for the IndexDiffCache
org.eclipse.egit.core/debug/core/indexdiffcache = true
# Trace location for ResourceRefreshJob
org.eclipse.egit.core/debug/core/refresh = true
>Talend-Studio-win-x86_64.exe -debug
Solution 1
Copy the file
<Users>\\.gnupg\pubring.kbx
into
<Users>\\AppData\Roaming\gnupg\pubring.kbx
Solution 2
Remove the folder %APPDATA%\gnupg
rmdir C:\Users\\AppData\Roaming\gnupg
Code used by org.eclipse.jgit.gpg.bc.internal.BouncyCastleGpgKeyLocator:
private static Path findGpgDirectory() {
SystemReader system = SystemReader.getInstance();
if (system.isWindows()) {
// On Windows prefer %APPDATA%\gnupg if it exists, even if Cygwin is
// used.
String appData = system.getenv("APPDATA"); //$NON-NLS-1$
if (appData != null && !appData.isEmpty()) {
try {
Path directory = Paths.get(appData).resolve("gnupg"); //$NON-NLS-1$
if (Files.isDirectory(directory)) {
return directory;
}
} catch (SecurityException | InvalidPathException e) {
// Ignore and return the default location below.
}
}
}
// All systems, including Cygwin and even Windows if
// %APPDATA%\gnupg doesn't exist: ~/.gnupg
File home = FS.DETECTED.userHome();
if (home == null) {
// Oops. What now?
home = new File(".").getAbsoluteFile(); //$NON-NLS-1$
}
return home.toPath().resolve(".gnupg"); //$NON-NLS-1$
}
sec rsa3072/E3D14B0401F82F92 2023-09-29 [SC]
458709B4010D7106D3A1D777E3D14B0401F82F92
uid [ultimate] Denis SEGARD (--)
SigningKeySetting
pubring.kbx file is a keybox file used to store the public keys in a binary keyring. All public keys are stored in this file, whereas private keys are stored in individual files.
On windows, If the folder %APPDATA%\gnupg exists , jgit will search for the KeyBoxFile in the folder %APPDATA%\gnupg.
If the keys have been stored in a KeyBoxFile under /.gnupg instead of %APPDATA%\gnupg, this may lead to an error :
ErrorCommittingChange
In the Studio log:
Caused by: java.io.IOException: External program failed ...
...
Caused by: java.io.IOException: External GPG did not return a valid signature; got: ...
For GPG key commit, please refer to Qlik Talend Help Documentation about:
signing-git-commits-and-tags-with-gpg
In this article, we will explain step by step in a scenario about How to Change the Secure Storage Directory in Talend Studio where Talend Studio is installed on a Windows machine.
-eclipse.keyring (Set to override location of the default secure storage)
{Path of your choice}\{File name of the key ring of your choice}
-eclipse.keyring
configuration\.eclipse\org.eclipse.equinox.security\secure_storage(keyring.data)
-vmargs
-Xms512m
-Xmx1536m
-Dfile.encoding=UTF-8
-Dosgi.requiredJavaVersion=17
-Dtalend.studio.m2.clean=true
-XX:+UseG1GC
-XX:+UseStringDeduplication
-XX:MaxMetaspaceSize=512m
--add-modules=ALL-SYSTEM
--add-opens=java.base/java.lang=ALL-UNNAMED
By default the secure storage file can be found at "~/.eclipse/org.eclipse.equinox.security/secure_storage" , but this can be changed, for details can refer to: How secure storage works . These values are encrypted based on secure store preference settings.
When you are failing with this issue 'A problem has occurred while accessing secure storage: no password provided' please refer to this article here
Publishing-to-Talend-Cloud-A-problem-has-occurred-while-accessing=secure-storage
For almost all services or APIs running in production, the requirement exists to secure access to the service. In the rest of this article, we will look at how to ensure the following security requirements:
This article shows you how to implement these concepts when running data services or Routes in the Talend Runtime. The focus is on the cloud runtime, but also applies to on-premises environments. Microservices are not handled in this article.
The attached security.zip file contains a Talend Studio v7.0 project with a sample service and Route to experiment with. It can be imported into any Talend Studio v7.x. In addition, it contains sample configuration files for the LDAP login module described later.
For REST-based services, in a cloud environment, Talend provides support only for basic authentication, where the user name and password are sent in an HTTP header alongside the request in clear text. Therefore it is mandatory to use HTTPS instead of HTTP as the protocol to ensure that the password is encrypted. Contrary to on-premises, for cloud environments, SAML token and OAuth are not supported. If more sophisticated solutions are required, Talend recommends using an API Gateway to secure and control access to the services and APIs. Talend Help provides information on how to integrate with API Gateways and examples for deployment on AWS API Gateway and Azure API Management.
Activating basic authentication for a service or a Route is done in Talend Studio in the corresponding REST component (tRESTRequest in a data service, or cREST in a Route). A data service where authentication is enabled is shown below:
Figure 1: Authentication enabled data service
Enforcing authentication information when sending the request to the service is only half the story. The provided identity must be validated and compared to the set of accepted identities. Talend Runtime provides an authentication framework based on Java Authentication and Authorization Service (JAAS), which allows you to plug in different modules targeting a specific backend to validate identity information. Out of the box, Talend Runtime is configured to support a file-based backend, but among others LDAP can also be used to validate. For a complete list of supported backends, see the Apache Karaf documentation.
The PropertiesLoginModule login module is the one configured by default in the Talend Runtime. It is based on the ${Runtime_Home}/etc/users.properties file, which uses the properties file format. Each property represents an identity. The format of the property is as follows:
user=password[,role][,role]...
Several roles may also be grouped together and the group can be referenced in the user entry:
_g_\:group=role[,role]... user=password[,role][,_g_\:group]...
The figure below shows the users.properties file, which is part of the Talend Runtime installation. In addition to the standard users tadmin, tesb, and karaf, two users alice and bob were added.
Figure 2: Sample users file
Passwords in the properties file are in clear text by default, but can be hashed to ensure protection. To automatically hash passwords after restarting the runtime, open and edit the <Runtime_Home>/etc/org.apache.karaf.jaas.cfg file.
The encryption.enabled property must be set to true. Furthermore, the encryption algorithm in the property encryption.algorithm should be set to something like SHA-256. The configuration file should look like this:
Figure 3: org.apache.karaf.jaas.cfg
The properties file solution is fine to quickly get some identity information defined, for example, when testing, but does not scale well. Furthermore, in many cases, identity information is stored in some LDAP server or Active Directory. Talend runtime provides an LDAP module to validate identity information using the information stored in LDAP or Active Directory.
The security.zip file includes the OSGi Blueprint bundle file authentication/LDAP-login-config.xml, which activates the LDAP login module when deployed into the runtime, and the authentication/org.talend.esb.jaas.ldap.cfg file to configure the login module and adapt it to the specific environment.
Table 1: LDAP login parameters for authentication
Name |
Description |
connection.url |
The LDAP URL, for example, ldap://ldap-host.example.com:389 |
connection.username |
Username to connect to LDAP, for example, cn=admin,dc=example,dc=com. The user requires read access to the part of the Directory Information Tree (DIT) where the user information is stored. |
connection.password |
User password to connect to LDAP. |
user.base.dn |
The LDAP base DN used to look up users, for example, ou=users,dc=example,dc=com. |
user.filter |
The LDAP filter used to locate the user applied to the subtree specified in user.base.dn, for example, (uid=%u) where %u will be replaced by the username. |
user.search.subtree |
If “true”, the user lookup will be recursive (sub). If “false”, the user lookup will be performed only at the first level (one). |
authentication |
Specifies the authentication method used when binding to the LDAP server. The default is simple, where a username and password is required. To enable anonymous, set to none and leave username and password blank. |
Edit the configuration file and adapt the settings to your environment. Table 1 provides a list of the properties to be configured and their meaning. The configuration file also contains the description for each property. The sample values in Table 1 and in the configuration file correspond to the Directory Information Tree (DIT) structure shown in Figure 4.
When finished with editing, copy the configuration file to the directory <Runtime_Home>/etc.
Deploy the authentication/LDAP-login-config.xml file into the Talend Runtime. The easiest way to deploy it is to copy the file to the deploy folder of the Talend Runtime, <Runtime_Home>/deploy.
Often the LDAP server or Active Directory requires the use of Secure LDAP (LDAPS) to ensure the communication is encrypted. The LDAP login module also supports LDAPS, but in addition requires a keystore containing the X.509 certificate of the LDAP server. The location of the keystore and required passwords are specified in the OSGi Blueprint bundle file, which contains the specification of the LDAP login module.
security.zip includes an extended version of the OSGi Blueprint bundle file ldaps/LDAP-login-config.xml with an additional section for the keystore, and ldaps/org.talend.esb.jaas.ldap.cfg with additional properties to configure the keystore-related parameters. Table 2 provides a list of the additional properties that need to be configured.
Name |
Description |
truststore.path |
Absolute path to a trust store containing required Active Directory certificates, for example, /opt/talend/7.2.1/runtime/etc/keystores/ldaptruststore |
truststore.password |
Password for the specified trust store. |
The article Authorization for REST service based routes with HTTP Basic Authentication describes how to enable authorization for a Route, and how to configure the user properties file. If LDAP is used for identity validation, the user information is stored in the roles for authorization. Figure 5 shows a container object groups and three child objects that represent the different groups or roles. Users belonging to a group are referenced through the member attribute, where the fully qualified distinguished name of the user is specified.
Figure 5: Sample LDAP for groups/roles
security.zip includes an extended version of the OSGi Blueprint bundle file authorization/LDAP-login-config.xml with additional configuration parameters to retrieve roles, and authorization/org.talend.esb.jaas.ldap.cfg with additional properties to configure the parameters. Table 3 provides a list of the additional properties that need to be configured.
Table 3: LDAP login parameters for authorization
Name |
Description |
role.base.dn |
The LDAP base DN used to looking for groups/roles, for example, ou=groups,dc=example,dc=com |
role.filter |
The LDAP filter used to look for user’s role, for example, (member=%fqdn) where %fqdn will be replaced by the user's full qualified distinguished name |
role.name.attribute |
The LDAP role attribute containing the group/role string used by Talend Runtime, for example, cn |
Currently, the sample Route provided in article Authorization for REST service based routes with HTTP Basic Authentication and also included in security.zip does not work for Talend version 7.1, 7.2, and 7.3.
In the default configuration of the Talend Runtime, both HTTP and HTTPS are enabled, and the private key used for HTTPS is a well-known standard key provided by Talend. If you use HTTPS, replacing the key is a must.
org.osgi.service.http.enabled=false
The file should now look like:
The Server HTTP Configuration section of the Talend ESB Container Administration Guide provides documentation for the HTTP settings in org.ops4j.pax.web.cfg.
Qlik Replicate tasks using Oracle as a Source Endpoint fail after installing the Oracle July 2024 patch.
All Qlik Replicate versions older than the 2024.5 SP03 release are affected.
Upgrade to Qlik Replicate 2023.11 SP05, or 2024.5 SP03 or later.
Download the formal builds for 2023.11 and 2024.5 here:
Qlik Replicate 2023.11 SP05: https://files.qlik.com/url/qr2023110860sp05 (expires 1/31/2025)
Qlik Replicate 2024.5 SP03 link: https://files.qlik.com/url/qr2024050563sp03 (expires 1/31/2025)
If you have Qlik Enterprise Manager deployed, upgrade this as well. See Qlik Enterprise Manager fails adding a table to a task with SYS-E-HTTPFAIL, no rest handler for url for download links.
The Oracle July 2024 patch introduced a change to redo events. Qlik has since provided a fix for Qlik Replicate which parses the redo log correctly.
RECOB-8698
Oracle Database 19c Release Update July 2024 Known Issues
As a general reminder, all changes to the environment such as operating system patches, endpoint and driver patches, etc. should be tested in lower environments before promoting to production.
Qlik Replicate crashes at ADLS connection test after and upgrade to V2024.11.0.177 from, for example, V2023.11.0.259.
The following will be seen in the log:
Faulting application name: repctl.exe, version: 2024.11.0.177, time stamp: 0x672b5c2a
Faulting module name: j9vm29.dll, version: 11.0.17.0, time stamp: 0x63600655
Exception code: 0xc0000005
Fault offset: 0x00000000000d780c
Faulting process id: 0x1ba4
Faulting application start time: 0x01db6c896871a7dd
Faulting application path: E:\Program Files\Attunity\Replicate\bin
epctl.exe
Faulting module path: E:\Program Files\Attunity\Replicate\jvm\bin\default\j9vm29.dll
Report Id: 3a00eb98-08d6-4c3a-a9cd-7ac48e0debe0
00008152: 2025-01-23T11:21:00:843352 [INFRASTRUCTURE ]V: load_dll: <- (at_loader.c:209)
00008152: 2025-01-23T11:21:01:29642 [AT_GLOBAL ]E: An exception occurred!!! (win32_exception_handler.c:109)
00008152: 2025-01-23T11:21:01:29642 [AT_GLOBAL ]E: Backtrace at exception: !{E:\Program Files\Attunity\Replicate\bin\at_base.dll!462bdb,E:\Program Files\Attunity\Replicate\bin\at_base.dll!37fde9,E:\Program Files\Attunity\Replicate\bin\at_base.dll!675af1,...,C:\windows\System32\KERNEL32.DLL!84d4,C:\windows\SYSTEM32
tdll.dll!51a11,}! (win32_exception_handler.c:110)
00008152: 2025-01-23T11:21:01:29642 [AT_GLOBAL ]E: exception code is 3221225477 (win32_exception_handler.c:112)
00008152: 2025-01-23T11:21:01:29642 [AT_GLOBAL ]E: tid=8152 (win32_exception_handler.c:115)
00008152: 2025-01-23T11:21:01:29642 [AT_GLOBAL ]E: exception as string is EXCEPTION_ACCESS_VIOLATION (win32_exception_handler.c:118)
00008152: 2025-01-23T11:21:01:29642 [AT_GLOBAL ]E: for more details about win32 exceptions, look at http://msdn.microsoft.com/en-us/library/aa908962.aspx (win32_exception_handler.c:121)
00008152: 2025-01-23T11:21:01:29642 [AT_GLOBAL ]E: exception record (nest level = 0): (win32_exception_handler.c:42)
00008152: 2025-01-23T11:21:01:29642 [AT_GLOBAL ]E: exception code: 3221225477 (win32_exception_handler.c:44)
00008152: 2025-01-23T11:21:01:29642 [AT_GLOBAL ]E: exception flags: 0 (win32_exc
Refresh the new installation and restore the correct content to make the ADLS gen 2 connection pass through:
A previous update did not properly clean the j9vm folder and other DLL files in the Attunity\Replicate\jvm folder. The remaining DLL file has defects in the QR function call.
The task will generate the following warning for each truncation of tables in the source database that have never been added to the replication task:
The task will generate the following warning for each truncation of tables in the source database that have never been added to the replication task.
[SOURCE_CAPTURE ]W: Unsupported operation encountered: 'TRUNCATE' ignored.
Source:PostgreSQL Source
Target:NULL
Add the ignoreAllTruncateTableWarnings feature flag in the task.
When entering a condition for Cloud Alerts, the alert may not trigger if the value was entered without using the function (Fx) button.
This is working as designed.
Two types of alerts can be designed:
String
To generate an alert based on a string, directly enter the string in the value text box.
Analyzing the value with the developer tool, it will be shown as a simple string:
Expression
To generate an alert based on an expression, click the function (fx) button and enter the required expression or value.
Analyzing the value with the developer tool, it will be shown as {qExpr: "…"}}].
[ERROR] Test connection failed for server:DI-HOEB12C2A-SBAX. Message:'AEM-E-SERAUTHINVALD, The remote server returned an error:[ERROR] Test connection failed for server:DI-HOEB12C2A-SBAX. Message:'AEM-E-SERAUTHINVALD, The remote server returned an error: (401) Unauthorized.'..'.
Failure to connect to Qlik Replicate from Qlik Enterprise Manager (QEM) can be caused by various permission settings. See Minimum user access requirements for Qlik Replicate and Qlik Enterprise Manager for requirements.
If the required permissions are met, the next step would be to verify that NTLM is enabled on the Qlik Replicate server.
NTLM authentication is used and if NTLM is disabled, then the user can not be authenticated giving the (401) Unauthorized error.
For instructions on checking NTLM, please review this Microsoft documentation: How to enable NTLM 2 authentication
Enable NTLM authentication on the Operating System level.
NTLM authentication disabled.
[SOURCE_CAPTURE ]W: Initial timestamp was not found in the first audit file header, cannot check start timestamp validity (ar_cdc_channel.c:1244)
This warning message comes from a log stream child task when the task has been started from a timestamp in the future with the advanced run options. The task is unable to validate any records that match a future timestamp.
2025-02-12T07:42:51 [SOURCE_CAPTURE ]I: Starting processing from context 'timestamp:2025-02-12T09:30:00' (ar_cdc_channel.c:965)
This message is an example of a task being started at 2/12/25 9:30am when the current time was 2/12/25 7:42am.
The advanced run option uses the local machine time so there are no time conversions needed. The task will fail to start when a future timestamp is used.
Reevaluate the timestamp that you would like to start your task. There is no need to do any timezone conversions as the local machine time will be used.
The warning indicates that the task is unable to find any valid records that matches the timeframe that was set for the task.
In this article, we walk you through the requirements and process of how to upgrade and unbundle an existing Qlik Sense Repository Database (see supported scenarios) as well as how to install a brand new Repository based on PostgreSQL. We will use the Qlik PostgreSQL Installer (QPI).
For a manual method, see How to manually upgrade the bundled Qlik Sense PostgreSQL version to 12.5 version.
Using the Qlik Postgres Installer not only upgrades PostgreSQL; it also unbundles PostgreSQL from your Qlik Sense Enterprise on Windows install. This allows for direct control of your PostgreSQL instance and facilitates maintenance without a dependency on Qlik Sense. Further Database upgrades can then be performed independently and in accordance with your corporate security policy when needed, as long as you remain within the supported PostgreSQL versions. See How To Upgrade Standalone PostgreSQL.
Index
Video Walkthrough
Video chapters:
The following versions have been tested and verified to work with QPI (1.4.0):
Qlik Sense February 2022 to Qlik Sense November 2023.
If you are on a Qlik Sense version prior to these, upgrade to at least February 2022 before you begin.
Qlik Sense November 2022 and later do not support 9.6, and a warning will be displayed during the upgrade. From Qlik Sense August 2023 a upgrade with a 9.6 database is blocked.
The Qlik PostgreSQL Installer supports installing a new standalone PostgreSQL database with the configurations required for connecting to a Qlik Sense server. This allows setting up a new environment or migrating an existing database to a separate host.
Using the Qlik PostgreSQL Installer on a patched Qlik Sense version can lead to unexpected results. If you have a patch installed, either:
Do not use the standard Qlik Sense folders, such as C:\Program Files\Qlik\Sense\Repository\PostgreSQL\ and C:\Programdata\Qlik\Sense\Repository\PostgreSQL\.
Do not use the standard Qlik Sense folders, such as C:\Program Files\Qlik\Sense\Repository\PostgreSQL\ and C:\Programdata\Qlik\Sense\Repository\PostgreSQL\.
Download the installer here.
Qlik PostgreSQL installer Release Notes
The following versions have been tested and verified to work with QPI (1.4.0):
February 2022 to November 2023.
If you are on any version prior to these, upgrade to at least February 2022 before you begin.
Qlik Sense November 2022 and later do not support 9.6, and a warning will be displayed during the upgrade. From Qlik Sense August 2023 a 9.6 update is blocked.
Uninstall the old Qlik Sense Repository Database service.
This step is required. Failing to remove the old service will lead the upgrade or patching issues.
Failing to reinstall the binaries will lead to errors when executing any number of service configuration scripts.If you do not immediately upgrade:
If the upgrade was unsuccessful and you are missing data in the Qlik Management Console or elsewhere, contact Qlik Support.
Now that your PostgreSQL instance is no longer connected to the Qlik Sense Enterprise on Windows services, all future updates of PostgreSQL are performed independently of Qlik Sense. This allows you to act in accordance with your corporate security policy when needed, as long as you remain within the supported PostgreSQL versions.
Your PostgreSQL database is fully compatible with the official PostgreSQL installers from https://www.enterprisedb.com/downloads/postgres-postgresql-downloads.
See How To Upgrade Standalone PostgreSQL, which documents the upgrade procedure for either a minor version upgrade (example: 14.5 to 14.8) or a major version upgrade (example: 12 to 14). Further information on PostgreSQL upgrades or updates can be obtained from Postgre directly.
The information in this article is provided as-is and to be used at own discretion. Depending on tool(s) used, customization(s), and/or other factors ongoing support on the solution below may not be provided by Qlik Support. The video in this article was recorded in a earlier version of QPI, some screens might differ a little bit.
Qlik PostgreSQL installer version 1.3.0 Release Notes
Techspert Talks - Upgrading PostgreSQL Repository Troubleshooting
Backup and Restore Qlik Sense Enterprise documentation
Migrating Like a Boss
Optimizing Performance for Qlik Sense Enterprise
Qlik Sense Enterprise on Windows: How To Upgrade Standalone PostgreSQL
How-to reset forgotten PostgreSQL password in Qlik Sense
How to configure Qlik Sense to use a dedicated PostgreSQL database
Troubleshooting Qlik Sense Upgrades