Qlik Community

Qlik Sense Deployment & Management

Discussion board where members learn more about Qlik Sense Installation, Deployment and Management.

alextimofeyev
Contributor II

Problems after upgrading 3.1.4 to 3.2.1

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:

1920170307T223709.030+0200INFOSERVERNAMESystem.Repository.Repository.QRSMain990d49e3a-2d0e-4a2d-ab36-5ae8031ca08cNT AUTHORITY\SYSTEMEntering main startup phase..90d49e3a-2d0e-4a2d-ab36-5ae8031ca08c
2020170307T223710.301+0200INFOSERVERNAMESystem.Repository.Repository.Core.Migrations.Support.MigrationMonitor9518ed2ad-fde2-49f7-84f7-020cd191e411NT AUTHORITY\SYSTEMDatabase migration triggered..518ed2ad-fde2-49f7-84f7-020cd191e411
2120170307T223710.392+0200ERRORSERVERNAMESystem.Repository.Repository.QRSMain9fdd36f35-8d92-4e7c-987d-219a0524df26NT AUTHORITY\SYSTEMFatal exceptionpassword 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(LocalConfigKey key, T defaultValue, LocalConfigCachePolicy cachePolicy)↵↓   at Repository.Core.SystemInformation.<get_LocalNode>b__23_0(ISecurityAwareRepository repository)↵↓   at Qlik.Sense.Common.Ioc.WorkScope.Work(Action`1 action)↵↓   at Repository.Core.SystemInformation.get_LocalNode()↵↓   at Repository.Core.SystemInformation.GetTemporaryFolder()↵↓   at Repository.Core.Services.SetupService..ctor(IQSLogManager logManager, INodeStaticInfo nodeInfo, ICertSetup certSetup, IRESTEngineFactory restEngineFactory, ISystemInformation systemInformation, ICertificatePasswordVerificationWebService certificatePwdWebService, ILogMaster logMaster)↵↓   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 Qlik.Sense.Common.Ioc.WorkScope.Work(Action`1 action)↵↓   at Repository.QRSMain.Main()fdd36f35-8d92-4e7c-987d-219a0524df26
2220170307T223710.405+0200INFOSERVERNAMESystem.Repository.Repository.QRSMain9fe254572-e107-4301-b7b6-4d8787344094NT AUTHORITY\SYSTEMShutdown completed. Signing off..fe254572-e107-4301-b7b6-4d8787344094
1 Solution

Accepted Solutions
alextimofeyev
Contributor II

Re: Problems after upgrading 3.1.4 to 3.2.1

Figured it out. Used the ConnectionStringEditor to look up the password for the qliksenserepository user, then went to pgAdmin to reset it to the expected value. Everything seems to be ok now.

17 Replies
alextimofeyev
Contributor II

Re: Problems after upgrading 3.1.4 to 3.2.1

Figured it out. Used the ConnectionStringEditor to look up the password for the qliksenserepository user, then went to pgAdmin to reset it to the expected value. Everything seems to be ok now.

jaisoni_trp
Contributor II

Re: Problems after upgrading 3.1.4 to 3.2.1

Alex, during the upgrade did it prompt for repository database password? I just executed the installer and it just asked for service user password.

Also can i ask if you are facing any major issue in 3.2.1 in terms of overall functionality?

alextimofeyev
Contributor II

Re: Problems after upgrading 3.1.4 to 3.2.1

Jai,

I think it did ask for the superuser password.

We haven't run into other issues since the upgrade.

alextimofeyev
Contributor II

Re: Problems after upgrading 3.1.4 to 3.2.1

Actually, I was just reading the releases notes for 3.2.2 and remembered that we were experiencing one issue that is now fixed:

Jira issue ID: QLIK-73023
Description: When opening an app in the mashup editor or single
configurator, sometimes sheets, objects and master objects are not listed
in the Dev hub objects panel.

db_qliksense
New Contributor III

Re: Problems after upgrading 3.1.4 to 3.2.1

Hi Alex,

Could you please elaborate on - " ConnectionStringEditor to look up the password for the qliksenserepository user"? I am struggling here- is this a tool or command line utility?

My problem is that after I entered the service account password ( I used, run as administrator), it did not prompt me for database password during the upgrade. The upgrade was fine, services were running. But, HUB/QMC are not accessible.

alextimofeyev
Contributor II

Re: Problems after upgrading 3.1.4 to 3.2.1

Hi,

it's a tool located in your Qlik installation directory, by default in C:\Program Files\Qlik\Sense\Repository\Util\ConnectionStringEditor.

db_qliksense
New Contributor III

Re: Problems after upgrading 3.1.4 to 3.2.1

Many thanks.

May I ask about its encryption and decryption?

alextimofeyev
Contributor II

Re: Problems after upgrading 3.1.4 to 3.2.1

ansarikashif201
New Contributor III

Re: Problems after upgrading 3.1.4 to 3.2.1

Hey Alex,

I am unable to find the ConnectionStringEditor in my QlikSense 3.0.0 installation.

There is only RepositorySnapshotManager folder in the Util folder :-

Qlik\Sense\Repository\Util\

I can't see ConnectionStringEditor. A blanket search on the server also didn't return any ConnectionStringEditor.

Can you please send the file from your installation?

Regards,

Kashif