Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Search our knowledge base, curated by global Support, for answers ranging from account questions to troubleshooting error messages.
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 Manage Cases. (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.
This article is a guide on how to call the Qlik Sense Repository API using Python.
The Qlik Sense Repository (QRS) API is a RESTful API, so in order to call it from Python, you would need to use a module such as requests
This can be simply installed using pip:
pip install requests
Create a python file test.py with the following contents (strings in red should be replaced to match your environment):
import requests requests.packages.urllib3.disable_warnings() #Set up necessary headers comma separated xrf = 'iX83QmNlvu87yyAB' headers = {'X-Qlik-xrfkey': xrf, "Content-Type": "application/json", "X-Qlik-User":"UserDirectory=DOMAIN;UserId=Administrator"} #Set up the certificate path cert = 'C:\certificates\clientandkey.pem' #Set the endpoint URL url = 'https://qlikserver1.domain.local:4242/qrs/app/full?xrfkey={}'.format(xrf) #Call the endpoint to get the list of Qlik Sense apps resp = requests.get(url, headers=headers, verify=False, cert=cert) if resp.status_code != 200: # Returns an error if something went wrong. raise ApiError('GET /qrs/app/full {}'.format(resp.status_code)) for app in resp.json(): print('{} {}'.format(app['id'], app['name']))
The clientandkey.pem file should look like below and contains both private key and certificate in pem format (Certificate and private key can be exported from QMC and it can be merged manually using a text editor)
-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEAigl7uyMr9zdiyZ4UU99IA15qaR6YisrkAxOEDh9aC5xX8cKX mS++v6JjoIJCItLaAII19ubKylSLQZMfiYNMqKrKQIKH8VqgK8G5H/pAYkvpWuz+ MIp5cT4Xxg8sGNFFygHKVfbYPG6M7IXsqiuydKra1+wcgtqh0HrDfHRjzdImYCOB P8zfVVFc5CbVri8mvtbyWr4BYSNcxbacASXo8VQAi5KNHXn39CsfQUy1YmHckBUe vgMS6LwEks4WOY6FBGJ/0XeL2tgJYM85rHsnQNel5L2v5dVfJduZfOPojknjerZs GqMZH/zfj14E/e/p0r2ilOgGNAV56yJmnFou5wIDAQABAoIBAGDs28bBoaOLboBn 0Zo7FFPZPhrl8vKyGHzYfUd1WEMC2vXVT6Gu1t+05QPVsx7Es3Lb+4yM7iQ4TTgU WHa0jWV5116IyW/91K4k7xq3G/Jpn0fLVYk8Ep4jnYnjKXGbsMdxjmPiWl/EuIt0 VoP+/uXQ+q3XCwYPAsRjD1UaXOIt/rlRWvkr18Sx2OcReaFO7j83a/w61QSgVGN9 F5PA29s2KHPPLzsdFfM1Z9eYYQzySPd0Qh7J5lDtznbiaK2GwI+tTKDN6nAVgbkA OY4fmPyeijQckmcFxpEvJg4E7Spxx+VXmVMma/ro5karL/VrrsCm8h3g19vV0Jn4 zTKBkJECgYEAzq/9vs02FnspPTpcAWaJwrwG71aTqxTT2L/IM0s2BalNtURApO4/ QXJ0LRRenw867xifOLKdOMbRpn7jBYinRDmkbeXDLvhgoXALd50h+FZBhbfs3iRn uu02INvXTgDAUd63MiJKdey8DjET4vvn55AfONPmd2m0su89axFpTcsCgYEAqvh6 Sz1m2/xtXRAgva2uI2PPwqSIO/oPInLNiWIfMrXFrPc8hynU2QSmYnF3KCy/n1c7 i3BjocCEYMnp7spL1RbP79GWrsLvd/homVYo0rl0z0M4JPhEi0VxZO3vpaYqTi3X KGAna6mbiIc8jjeBVni/tY0kX2w8Nr8jZLXWv9UCgYEAklJNVRJ6RBgU7d+u2t74 kAAE+NNV3zvzbfL3jDimmgNtm/IhwaFY7sBUNsXA5uIlWrcXoU/xtgwqx6/0kCpa IBaerZ6HO21jG2by908qiWCnKj83VVx4gwED3OdF2Vb2z/7XuopEJI/f4jwkVAD6 ABkrwVNiSQ9weWydEntVDVkCgYAxeP1KUFY3SfALgeM3f85oBzXTSPDzCgTfHwFC w9XrQpYU2uX05rHkqmfLDLJCOdCpNwDP9JGf+KlVqJe8tWUEIDnDV46Wu2m3+XWr CTd+4pNedkEE0aJj+pA5eHBkKpULUlB0Kn69tLKA60EmlgEjGIXA7zqbMiKqZNzF A6lEkQKBgDJW2RiCRLgsfpWjlYU4ivJDRVA23Ns9LWgvNbYFd8IL1yjYerH+cbG0 8IJqIHjSzhKNgUkPI+Tz67bxBBbDkIr9Eo+GVr/L0ZDuAXZUG2z8M21OnKP5pXMq YgMneRqJgNQ3zeWgWwZSY+ud/0Y+UhB2nGZ++Nt9ZADcPi27g37E -----END RSA PRIVATE KEY----- -----BEGIN CERTIFICATE----- MIIDHTCCAgWgAwIBAgIQAPwSp1uUSsF/FUfzmrDGtzANBgkqhkiG9w0BAQsFADAm MSQwIgYDVQQDDBtRbGlrU2VydmVyMS5kb21haW4ubG9jYWwtQ0EwHhcNMTgwNzEw MDkzNzQ3WhcNMjgwNzE3MDkzNzQ3WjAVMRMwEQYDVQQDDApRbGlrQ2xpZW50MIIB IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAigl7uyMr9zdiyZ4UU99IA15q aR6YisrkAxOEDh9aC5xX8cKXmS++v6JjoIJCItLaAII19ubKylSLQZMfiYNMqKrK QIKH8VqgK8G5H/pAYkvpWuz+MIp5cT4Xxg8sGNFFygHKVfbYPG6M7IXsqiuydKra 1+wcgtqh0HrDfHRjzdImYCOBP8zfVVFc5CbVri8mvtbyWr4BYSNcxbacASXo8VQA i5KNHXn39CsfQUy1YmHckBUevgMS6LwEks4WOY6FBGJ/0XeL2tgJYM85rHsnQNel 5L2v5dVfJduZfOPojknjerZsGqMZH/zfj14E/e/p0r2ilOgGNAV56yJmnFou5wID AQABo1gwVjAdBgNVHQ4EFgQUHuRgu4W91AWDpUV89iV40Dn06KMwHwYDVR0jBBgw FoAUWYVKKZg36ryR+h1omrSGo3ic+HowFAYIKwYBBQUHDQMECAQGQ2xpZW50MA0G CSqGSIb3DQEBCwUAA4IBAQA2gVHTFyXOsjs2Vr1/EqNvx//a5QM+xcBSUvTQXfzZ zoNofN0YCR5gc5SfS7ihf5R95MkrYXfKdhgCriqXVYExWiA0uPOLWsuMj9iaDJys 0494kUMA9UqiS+8AIfidCqkn4G1QpqtjEwPQMp3M2U3GkTkabQp6BB0Lf6srai6a ASk33xatdm8c8mf8sTemm3Iu2VDR02eX6gNeDdo4S1pmil1HsIPJKqDEwXvRY0nF kxedriyHdsXAz6Cb3stSl0szAeRuQ/B2UF3nW7VGMAjLiMFuDTLXai0539bzii0A 5rujJu/mt+wyljie0JUBfK1dvDCSSQUbHl4IEFGTX08b -----END CERTIFICATE-----
If you get an error involving certificates change the following line in the code
cert = 'C:\certificates\clientandkey.pem'
by
cert = ('C:/certificates/client.pem', 'C:/certificates/client_key.pem')
You will need to also install the following module to handle NTLM authentication:
pip install requests_ntlm
Create a python file test.py with the following contents (strings in red should be replaced to match your environment):
import requests from requests_ntlm import HttpNtlmAuth requests.packages.urllib3.disable_warnings() #Set up necessary headers comma separated xrf = 'iX83QmNlvu87yyAB' headers = {'X-Qlik-xrfkey': xrf, "Content-Type": "application/json", "User-Agent":"Windows"} #Set up user credentials user_auth = HttpNtlmAuth('domain\\user1','MyPassword') #add xrfkey to URL url = 'https://qlikserver1.domain.local/qrs/app/full?xrfkey={}'.format(xrf) #Call the endpoint to get the list of Qlik Sense apps resp = requests.get(url,headers = headers,verify=False,auth=user_auth) if resp.status_code != 200: # Returns an error if something went wrong. raise ApiError('GET /qrs/app/full {}'.format(resp.status_code)) for app in resp.json(): print('{1} {0}'.format(app['id'], app['name']))
Example of result obtained:
PS C:\certificates> python test.py 9b428869-0fba-4ba5-9f94-901ae2fdf041 test1 72e183c7-f838-4a8e-8e16-1014aa80acb4 License Monitor 38476273-ae47-475b-bee0-68cffa384ae1 Operations Monitor 9cdad10c-a230-4c78-b4f7-0d97ca30a48a testuser2 9fa859ed-b59c-4574-bf26-2620e09f1289 test1(1) d3c96fe7-2b3b-457a-82d7-2b32edbf4190 License Monitor_22.0.4.0 df32a902-bccb-4187-8c64-4223f6694f7c Operations Monitor_22.0.4.0
! The information in this article is provided as-is and to be used at own discretion. Ongoing support on the solution is not provided by Qlik Support.
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
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.
Video chapters:
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 Qlik Sense Repository Service
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
When an On-Demand App Generation (ODAG) link is created in a selection app and the app is transferred to another owner, then the new owner can only see the option "Add to App Navigation" in the right-click context menu. Options "Edit" and "Delete" are missing.
The same issue happens when the selection app is duplicated by another user.
This is a known limitation of Qlik Sense and has been reported in defectQLIK-83203.
There are default security rules: CreateOdagLinks and ReadOdagLinks.
But no default rule for Update/ Delete of ODAG links.
A work-around solution at the moment is to create custom security rules that grants Update/ Delete access of ODAG links to the new app owner, similar to the followings:
ODAG links are meant to be managed similar to Data connections, where a connection created in one app can be used in other apps. However, while the QMC provides a Data connections tab to list down all connections and control related ownership/ permissions, such management GUI is not available for ODAG links. R&D is considering the ODAG link management page in future releases of the product.
When running a Replicate CDC task replicating from MS-SQL source endpoint, you may get an error like the following error:
[SOURCE_CAPTURE ]E: SqlStat: 42000 NativeError:9005 [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Invalid parameter passed to OpenRowset(DBLog, ...). (PcbMsg: 105) [1020417] (sqlserver_log_processor.c:4310)
1. If the cause of the problem is reason 1 mentioned below, to eliminate the error, you should edit the MS-SQL source endpoint setting under Replicate GUI:
manage endpoints connections --> [your MS-SQL source endpoint definition] --> advanced tab --> internal parameters
add the internal parameter : ignoreTxnCtxValidityCheck and set it to True
2. If the cause of the problem is reason 2 mentioned below, you should make sure that the TLOG backups are available to Replicate
1. When working with MS-SQL source endpoint, COMMIT event usually show up with LCX_NULL context. Here it comes with a context which is not recognized yet and therefore Replicate produces an error. An easy and immediate option to solve the error is to ignore the validity of the CONTEXT value in case of COMMIT, assuming that MS-SQL storage engine knows its job better than Replicate.
2. When Replicate reads from the online log it will use the fn_dblog function, the first parameter passed to the query is the last LSN that Replicate processed. If There is no access to the backups and the log has been truncated you can get this error
(If probelm persists need to produce detailed debug information for further analysis)
When trying to access the license Setup in the QMC http://localhost:4780/qmc/Licenses.htm# the system returns the following error:
localhost:4780 says
Dsc did not respond to request.
Last exception (for http://localhost:4730/DSC/Service):
The remote server returned an unexpected response:
(413) Request Entity Too Large.
You will also see the following errors when navigating to the license section http://localhost:4780/QMC/Licenses.htm#
localhost:4780 says
Not found: EntLicenses.Properties.NxLicenselnfo.AllowLicenseLease
localhost:4780 says
Not found:
Entlicenses.Properties.NxLicenselnfo.AllowDynamicAssignmentProfessional
The response message size (Content-Length) exceeded 262144 characters in the DSC SOAP request.
Visualisation Bundle extensions that have been uploaded from a client-managed version of Qlik Sense are not updated automatically.
The expected new features are missing, and, when checking the extensions in the Management Console/Administration section, they have an old date.
Remove the manually-uploaded Visualisation Bundle extensions from the Management Console/Administration page, to use the ones that come with Qlik Cloud Analytics. Only the integrated extensions get updated automatically.
Visualisation Bundle extensions that have been manually uploaded to the tenant overwrite the ones integrated within the platform. The uploaded extensions won't be automatically updated.
This article explains how to view your own and your colleague's cases in the Support Case Portal.
How to create a case and contact Qlik Support
The Qlik Sense Mobile app allows you to securely connect to your Qlik Sense Enterprise deployment from your supported mobile device. This is the process of configuring Qlik Sense to function with the mobile app on iPad / iPhone.
This article applies to the Qlik Sense Mobile app used with Qlik Sense Enterprise on Windows. For information regarding the Qlik Cloud Mobile app, see Setting up Qlik Sense Mobile SaaS.
Content:
See the requirements for your mobile app version on the official Qlik Online Help > Planning your Qlik Sense Enterprise deployment > System requirements for Qlik Sense Enterprise > Qlik Sense Mobile app
Out of the box, Qlik Sense is installed with HTTPS enabled on the hub and HTTP disabled. Due to iOS specific certificate requirements, a signed and trusted certificate is required when connecting from an iOS device. If using HTTPS, make sure to use a certificate issued by an Apple-approved Certification Authority.
Also check Qlik Sense Mobile on iOS: cannot open apps on the HUB for issues related to Qlik Sense Mobile on iOS and certificates.
For testing purposes, it is possible to enable port 80.
If not already done, add an address to the White List:
An authentication link is required for the Qlik Sense Mobile App.
NOTE: In the client authentication link host URI, you may need to remove the "/" from the end of the URL, such as http://10.76.193.52/ would be http://10.76.193.52
Users connecting to Qlik Sense Enterprise need a valid license available. See the Qlik Sense Online Help for more information on how to assign available access types.
Qlik Sense Enterprise on Windows > Administer Qlik Sense Enterprise on Windows > Managing a Qlik Sense Enterprise on Windows site > Managing QMC resource > Managing licenses
The following error message appears repeatedly in the logs.
2024-01-20 08:50:10 ERROR RepoProjectRefresher -
2024-01-10 16:58:47 ERROR GC - D:\Talend\7.3.1\tac\apache-tomcat\temp\_git\
The main reason for the log type is that the RepoProjectRefresher faces out of memory issues. By default, TAC automatically caches/checks out the project source code into the tac\apache-tomcat\temp folder. When the source code accumulation is large, the RepoProjectRefresher module will consume a lot of memory. When maximum value is reached, a GC error will occur and a GC error log will be generated.
Note: The RepoRefresher cache functionality has been deprecated in the latest version of TAC v8.0.1
Disable the Git caching mechanism for the TAC project by following these steps:
update t731.configuration set value='true' where configuration.key='git.whiteListBranches.enable';
update t731.configuration set value='\"Technical labels of project\",\"Active branch name\"' where configuration.key='git.whiteListBranches.list';
QlikView Administrators cannot see the list of Assigned Users under the Assigned CALs tab in the QlikView Management Console although they can see licenses are assigned under the General tab.
It is important to note that the QlikView users are not experiencing any issues accessing applications. This only affects the QlikView Administrator who wants to see details of which users have had CALs assigned to them.
The QlikView Management Service is calling the QlikView Service for the Assigned CALs information. If there are a large number of Assigned CALs, the information is not received by the QMS in time and the information is not presented on the screen. By increasing the MaxReceivedMessageSize we are allowing the QMC more time to receive the information from the QMS.
This will affect customers with a large number of Assigned CALs.
This is a sample of how to call the Qlik Cloud APIs to assign an Analyzer license to a user with PowerShell/JWT authentication.
In order to call Qlik Cloud API with JWT authentication, the first step is to call POST /login/jwt-session to get the necessary cookies. Which API can be called depends on the privileges the JWT user has been assigned.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
$hdrs = @{}
# Put your JWT token here
$hdrs.Add("Authorization","Bearer eyJhbGciOiJSU...pgacN8QqAjKug")
$url = "https://tenant.ap.qlikcloud.com/login/jwt-session"
$resp = Invoke-WebRequest -Uri $url -Method Post -ContentType 'application/json' -Headers $hdrs
#Fetch all required cookies
$AWSALB= [Regex]::Matches($resp.RawContent, "(?<=AWSALB\=).+?(?=; Expires)")
$AWSALBCORS= [Regex]::Matches($resp.RawContent, "(?<=AWSALBCORS\=).+?(?=; Expires)")
$eassid= [Regex]::Matches($resp.RawContent, "(?<=eas.sid\=).+?(?=; path)")
$eassidsig= [Regex]::Matches($resp.RawContent, "(?<=eas.sid.sig\=).+?(?=; path)")
$csrftoken= [Regex]::Matches($resp.RawContent, "(?<=_csrfToken\=).+?(?=; path)")
$csrftokensig= [Regex]::Matches($resp.RawContent, "(?<=_csrfToken.sig\=).+?(?=; path)")
$allCookies = "AWSALB="+$AWSALB.Value+";AWSALBCORS="+$AWSALBCORS.Value+";eas.sid="+$eassid.Value+";eas.sid.sig="+$eassidsig.Value+";_csrfToken="+$csrftoken.Value+";_csrfToken.sig="+$csrftokensig.Value
$session = New-Object Microsoft.PowerShell.Commands.WebRequestSession
foreach ($cookiePair in $allCookies.Split((";"))) {
$cookieValues = $cookiePair.Trim().Split("=")
$cookie = New-Object System.Net.Cookie
$cookie.Name = $cookieValues[0]
$cookie.Value = $cookieValues[1]
$cookie.Domain = "tenant.ap.qlikcloud.com"
$session.Cookies.Add($cookie);
}
$hdrs = @{}
#Request that modify content such as POST/PATCH requests need the Qlik-Csrf-Token header
$hdrs.Add("Qlik-Csrf-Token",$csrftoken.value)
$body = '{"add":[{"subject":"DOMAIN\\user1","type":"analyzer"}]}'
$url = "https://tenant.ap.qlikcloud.com/api/v1/licenses/assignments/actions/add"
Invoke-RestMethod -Uri $url -Method Post -Headers $hdrs -Body $body -WebSession $session
If a tenant previously had an incomplete SMTP configuration with their Qlik Cloud, an error message will now be shown to the Tenant Administrator:
To resolve this error a Tenant Admin can enter valid SMTP credentials.
At the moment, it is not possible to delete/clear the previous credential entry in the authentication. An option to clear the credentials is being prepared to support a return to a default (non-configured/empty) state and is expected to be available in the coming weeks.
We will update this article when the ability to clear becomes available.
With the release of the SMTP service connectivity for Microsoft O365 from the Management Console, more stringent error checking was added to the basic authentication configuration.
If interested, Admins can still successfully connect to Microsoft 0365 SMTP with this error showing. More details on the new available 0Auth2 authentication can be found here: Qlik Cloud: Introducing OAuth2 authentication for ... - Qlik Community - 2444243
This article provides the steps needed to successfully upgrade Qlik Replicate installed on a Windows Cluster.
repctl -d "YOUR_DATA_DIRECTORY_PATH" exportrepositoryExample: ~Program Files\Attunity\Replicate\bin> repctl -d "S:\Programs\Qlik\Replicate\data" exportrepository
This article provides the steps needed to successfully upgrade Qlik Replicate installed on a Windows Cluster.
repctl -d "YOUR_DATA_DIRECTORY_PATH" exportrepositoryExample: ~Program Files\Attunity\Replicate\bin> repctl -d "S:\Programs\Qlik\Replicate\data" exportrepository
LinkedIn requires OAuth2 authentication.
The connection steps are as follows:
Setting up selected REST sources for data loading
A Qlik Replicate Full Load Task fails with the error:
RetCode: SQL_ERROR SqlState: 23000 NativeError: 301 Message: [SAP AG][LIBODBCHDB DLL][HDBODBC] General error;301 unique constraint violated
Add the Internal Parameter named readSnapshotOnUnload. This resolves the issue of duplicated data during the Full Load / CDC Task.
Jira QB-27017
Despite defining a filter in the table setting for the full load, the "Transferred Count" column in Qlik Replicate Console GUI indicates that all records are transferred from the source table to the target side. The filter criteria have been thoroughly reviewed and no issues have been identified. It appears that the Replicate process is not filtering the records as expected.
It is important to understand how the filter works in the Qlik Replicate process:
Filter Conditions: The filter statement is added directly to the query that retrieves data from the source table.
For example:
Qlik Replicate performs following query to retrieve records.
[SOURCE_UNLOAD]T: SELECT [id],[c1],[ts] FROM [dbo].[des2] WHERE ([id] = 1)
In this case, only the record with id = 1 would be returned from the source table, and the "Transferred Count" would show 1.
Record Selection Condition: Qlik Replicate retrieves all records from the source table and then performs the filtering within the Qlik Replicate process itself.
For example,
Qlik Replicate performs following query to retrieve records.
[SOURCE_UNLOAD ]T: SELECT [id],[c1],[ts] FROM [dbo].[des2]
Since all records are initially collected, the "Transferred Count" will show the total number of records (e.g. 200 for this example) from the source table.
Only one record is transferred to the target. Other records are skipped:
[TARGET_LOAD ]I: Load finished for table 'dbo'.'des2' (Id = 1). 200 rows received. 199 rows skipped. Volume transferred 80000.
The max concurrent reloads can be configured in the Qlik Sense Management Console.
<ServerName>_System_Scheduler.txt
Domain\qvservice Engine connection released. 5 of 4 used
Domain\qvservice Engine connection 6 of 4 established
Domain\qvservice Request for engine-connection dequeued. Total in queue: 25
Use the "Max concurrent reloads" to limit the maximal concurrent tasks can be run at same time on current node. By default, it's set to 4, which means only 4 tasks can be run at same time on this node.
When the 5th task comes in:
On a multi-node deployment, tasks will be balanced from the manager node to any node(s) designated as workers.
It's highly advised to check if the central node configured is set to Manager and Worker or Manager. When set to Manager, it will send all reload jobs to the reload/scheduler nodes, as it should. However if a central node is set to Manager and Worker, this means the Central node will also be involved in performing reloads. This is not recommended.
The work flow looks as follows:
The improvement to track the Max concurrent reloads can, if desired, be disabled. This reverts Sense to an older load balancing method that relies only on CPU usage.
To disable the setting:
In our example, we allow one concurrent reload, but we assume that two reloads are executed at the same time.
You may get the errors, "A call to SSPI failed, see inner exception" and "The certificate chain was issued by an authority that is not trusted". While they should have no impact on your end-users, you'd still like to clean them up from the logs.
Qlik Sense otherwise functions without issues.
Example error:
System.Proxy.Qlik.Sense.Communication.Communication.Tcp.StreamFactory 16 c2972806-6ae3-4559-8ebf-c7c2201335f3 xx\xxx Failed to authenticate stream as Server The client and server cannot communicate, because they do not possess a common algorithm↵↓A call to SSPI failed, see inner exception. NO-STACKTRACE↵↓ at System.Net.Security.SslState.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)
These, unfortunately, are not Qlik Sense errors, but rather errors from Windows that Qlik Sense reports. You should also be able to see them in your Windows Application logs. For more information, please search out Windows Support.
See Security Support Provider Interface Architecture for additional details.
Possible root causes: