Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I've performed a Qlik Sense Enterprise upgrade from 3.1.4 to 3.2.1. The upgrade wizard indicated that the upgrade completed successfully. Now I cannot access either QMC or the Hub. The services appear to be running, but I see the following error in the System_Repository logs:
19 | 20170307T223709.030+0200 | INFO | SERVERNAME | System.Repository.Repository.QRSMain | 9 | 90d49e3a-2d0e-4a2d-ab36-5ae8031ca08c | NT AUTHORITY\SYSTEM | Entering main startup phase.. | 90d49e3a-2d0e-4a2d-ab36-5ae8031ca08c | |||
20 | 20170307T223710.301+0200 | INFO | SERVERNAME | System.Repository.Repository.Core.Migrations.Support.MigrationMonitor | 9 | 518ed2ad-fde2-49f7-84f7-020cd191e411 | NT AUTHORITY\SYSTEM | Database migration triggered.. | 518ed2ad-fde2-49f7-84f7-020cd191e411 | |||
21 | 20170307T223710.392+0200 | ERROR | SERVERNAME | System.Repository.Repository.QRSMain | 9 | fdd36f35-8d92-4e7c-987d-219a0524df26 | NT AUTHORITY\SYSTEM | Fatal exception | password authentication failed for user "qliksenserepository"↵↓The provider did not return a ProviderManifestToken string.↵↓An error occurred accessing the database. This usually means that the connection to the database failed. Check that the connection string is correct and that the appropriate DbContext constructor is being used to specify it or find it in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=386386 for information on DbContext and connections. See the inner exception for details of the failure.↵↓An exception was thrown while invoking the constructor 'Void .ctor()' on type 'DatabaseContext'. ---> An error occurred accessing the database. This usually means that the connection to the database failed. Check that the connection string is correct and that the appropriate DbContext constructor is being used to specify it or find it in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=386386 for information on DbContext and connections. See the inner exception for details of the failure. (See inner exception for details.)↵↓An exception was thrown while invoking the constructor 'Void .ctor(Qlik.Sense.Common.ITypeResolver, System.Func`1[Repository.Core.Repository.Database.Common.IDatabaseContext], Autofac.ILifetimeScope, Repository.Core.Repository.Common.ITransactionUtility, Repository.Core.Repository.Common.IRepositoryEntityCache, Repository.Core.INodeStaticInfo, Qlik.Sense.Logging.IQSLogManager, Repository.Core.Repository.Common.IRepositoryContentService, Repository.Core.Repository.Common.ILifetimeScopeEntityCache)' on type 'EntityTransactionRepository'. ---> An exception was thrown while invoking the constructor 'Void .ctor()' on type 'DatabaseContext'. ---> An error occurred accessing the database. This usually means that the connection to the database failed. Check that the connection string is correct and that the appropriate DbContext constructor is being used to specify it or find it in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=386386 for information on DbContext and connections. See the inner exception for details of the failure. (See inner exception for details.) (See inner exception for details.)↵↓An exception was thrown while invoking the constructor 'Void .ctor(Qlik.Sense.Logging.IQSLogManager, Repository.Core.INodeStaticInfo, Qlik.Sense.Communication.Security.ICertSetup, Qlik.Sense.Common.Communication.REST.Server.IRESTEngineFactory, Repository.Core.ISystemInformation, Repository.Core.Certificates.ICertificatePasswordVerificationWebService, Qlik.Sense.Common.Logging.ILogMaster)' on type 'SetupService'. ---> An exception was thrown while invoking the constructor 'Void .ctor(Qlik.Sense.Common.ITypeResolver, System.Func`1[Repository.Core.Repository.Database.Common.IDatabaseContext], Autofac.ILifetimeScope, Repository.Core.Repository.Common.ITransactionUtility, Repository.Core.Repository.Common.IRepositoryEntityCache, Repository.Core.INodeStaticInfo, Qlik.Sense.Logging.IQSLogManager, Repository.Core.Repository.Common.IRepositoryContentService, Repository.Core.Repository.Common.ILifetimeScopeEntityCache)' on type 'EntityTransactionRepository'. ---> An exception was thrown while invoking the constructor 'Void .ctor()' on type 'DatabaseContext'. ---> An error occurred accessing the database. This usually means that the connection to the database failed. Check that the connection string is correct and that the appropriate DbContext constructor is being used to specify it or find it in the application's config file. See http://go.microsoft.com/fwlink/?LinkId=386386 for information on DbContext and connections. See the inner exception for details of the failure. (See inner exception for details.) (See inner exception for details.) (See inner exception for details.) | at Devart.Data.PostgreSql.w.x()↵↓ at Devart.Data.PostgreSql.w..ctor(PgSqlConnectionOptions A_0)↵↓ at Devart.Data.PostgreSql.b.a(t A_0, Object A_1, DbConnectionBase A_2)↵↓ at Devart.Common.DbConnectionFactory.a(DbConnectionPool A_0, t A_1, DbConnectionBase A_2)↵↓ at Devart.Common.DbConnectionPool.a(DbConnectionBase A_0)↵↓ at Devart.Common.DbConnectionPool.GetObject(DbConnectionBase owningConnection)↵↓ at Devart.Common.DbConnectionFactory.b(DbConnectionBase A_0)↵↓ at Devart.Common.DbConnectionClosed.Open(DbConnectionBase outerConnection)↵↓ at Devart.Common.DbConnectionBase.Open()↵↓ at Devart.Data.PostgreSql.PgSqlConnection.Open()↵↓ at Devart.Data.PostgreSql.Entity.y.a(DbConnection A_0, b& A_1)↵↓ at Devart.Data.PostgreSql.Entity.PgSqlEntityProviderServices.GetDbProviderManifestToken(DbConnection connection)↵↓ at System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection)↵↓ at System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection)↵↓ at System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection)↵↓ at System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection)↵↓ at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)↵↓ at System.Data.Entity.Utilities.DbConnectionExtensions.GetProviderInfo(DbConnection connection, DbProviderManifest& providerManifest)↵↓ at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection)↵↓ at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext)↵↓ at System.Data.Entity.Internal.RetryLazy`2.GetValue(TInput input)↵↓ at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()↵↓ at Repository.Core.Repository.Database.Common.AbstractDatabaseContext..ctor()↵↓ at lambda_method(Closure , Object[] )↵↓ at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()↵↓ at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()↵↓ at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)↵↓ at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)↵↓ at Autofac.Core.Lifetime.LifetimeScope.GetOrCreateAndShare(Guid id, Func`1 creator)↵↓ at Autofac.Core.Resolving.InstanceLookup.Execute()↵↓ at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)↵↓ at Autofac.Core.Resolving.ResolveOperation.Execute(IComponentRegistration registration, IEnumerable`1 parameters)↵↓ at lambda_method(Closure )↵↓ at Repository.Core.Repository.Common.EntityTransactionRepository..ctor(ITypeResolver typeResolver, Func`1 databaseContextProvider, ILifetimeScope containingScope, ITransactionUtility transactionUtility, IRepositoryEntityCache repositoryEntityCache, INodeStaticInfo nodeInfo, IQSLogManager logManager, IRepositoryContentService repositoryContentService, ILifetimeScopeEntityCache lifetimeScopeEntityCache)↵↓ at lambda_method(Closure , Object[] )↵↓ at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()↵↓ at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()↵↓ at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)↵↓ at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)↵↓ at Autofac.Core.Resolving.InstanceLookup.Execute()↵↓ at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)↵↓ at Autofac.Core.Activators.Reflection.ConstructorParameterBinding.Instantiate()↵↓ at Autofac.Core.Activators.Reflection.ReflectionActivator.ActivateInstance(IComponentContext context, IEnumerable`1 parameters)↵↓ at Autofac.Core.Resolving.InstanceLookup.Activate(IEnumerable`1 parameters)↵↓ at Autofac.Core.Resolving.InstanceLookup.Execute()↵↓ at Autofac.Core.Resolving.ResolveOperation.GetOrCreateInstance(ISharingLifetimeScope currentOperationScope, IComponentRegistration registration, IEnumerable`1 parameters)↵↓ at Autofac.Core.Resolving.ResolveOperation.Execute(IComponentRegistration registration, IEnumerable`1 parameters)↵↓ at Autofac.ResolutionExtensions.TryResolveService(IComponentContext context, Service service, IEnumerable`1 parameters, Object& instance)↵↓ at Autofac.ResolutionExtensions.ResolveService(IComponentContext context, Service service, IEnumerable`1 parameters)↵↓ at Autofac.ResolutionExtensions.Resolve[TService](IComponentContext context, IEnumerable`1 parameters)↵↓ at Repository.Core.Repository.Common.SecurityAwareRepository.<>c__DisplayClass51_0`1.<GetAllWithoutSecurity>b__0()↵↓ at Repository.Core.Repository.Common.SecurityAwareRepository.RunWithoutSecurity[TResult](Func`1 func)↵↓ at Repository.Core.Settings.LocalConfigStash.GetFromRepository(LocalConfigKey key, ISecurityAwareRepository repository)↵↓ at Qlik.Sense.Common.Ioc.WorkScope.Work[T,TResult](Func`2 func)↵↓ at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)↵↓ at Repository.Core.Settings.LocalConfigStash.TryGet(LocalConfigKey key, LocalConfigCachePolicy cachePolicy, ISecurityAwareRepository repository, LocalConfig& localConfig)↵↓ at Repository.Core.Settings.LocalConfigStash.Get(LocalConfigKey key, LocalConfigCachePolicy cachePolicy)↵↓ at Repository.Core.Settings.LocalConfigStash.Get | fdd36f35-8d92-4e7c-987d-219a0524df26 | |
22 | 20170307T223710.405+0200 | INFO | SERVERNAME | System.Repository.Repository.QRSMain | 9 | fe254572-e107-4301-b7b6-4d8787344094 | NT AUTHORITY\SYSTEM | Shutdown completed. Signing off.. | fe254572-e107-4301-b7b6-4d8787344094 |
Hi Kashif - ConnectionStringEditor could be part of a newer version of Qlik Sense than what you currently have installed in your environment.
Pranav
Hey Thanks Pranav. Thats what I was thinking. We decided lets upgrade to 3.2.4 (with synchronized persistence) and see if the Utility appears in the folder.
Thanks for confirming.
Kashif,
here is mine just in case, I think it might work even with 3.0.0.
And here is the readme file:
Qlik Sense Connection String Editor 0.0.0
=========================
The Connection String Editor (CSE) helps to edit the Qlik Sense database connection string that is encrypted. This is the database connection string that Qlik Sense Repository Service uses to connect towards the PostgreSQL database.
Usage:
1. Specify where Repository.exe is located (default: C:\Program Files\Qlik\Sense\Repository\Repository.exe)
2. Press "Read" to read the encrypted string
3. Modify the connection string
4. Press "Save" to encrypt the connection string
Propeties for connection string:
User ID - The username that Repository Service will use to authenticate against the database (default: qliksenserepository)
Password - The password for the user in "User ID" field that will be used for authentication
Port - Port number to connect to PostgreSQL database (default: 4432)
Host - Hostname of the machine serving the PostgreSQL database (default: localhost)
Database - Name of the database that will be used (default: QSR)
Max pool size - Max number of concurrent connections against PostgreSQL database (default: 90). Note that increase of this number require that PostgreSQL configuration also can accept same amount of connections.
Note: All property and values are closed with ";" example: "myPropertyName=myValue;"
Why not Shared Persistence? Synchronized persistence is no longer supported as of June Release 2017.
Thanks Alex.
Yes from 3.2.4 to June 2017, we will go to Shared Persistence.
What is the page size set to? We have our's set to 500.