Replies: 2 comments 2 replies
-
Hard to say based on your setup, maybe you should just restart Quartz service on password change? Not sure how the connection string/credentials are refreshed after gMSA change (I'm not familiar with the technology). |
Beta Was this translation helpful? Give feedback.
0 replies
-
Thank you for reply! |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
We are using OS Authentication with gMSA since a few months, wich changes its password every 30 days. In that first minutes of password change only Quartz.NET (v3.0.7) gets ORA-01017 (user name/password invalid) a few times. After maybe 10 exceptions it works until the next password change.
I guess, that Quartz.NET stores connections in the connection pool, that still have the old password.
I found out, the java implementation is having a validationQuery-configuration, to detect and replace invalid connections. The .net implementation may handle that on its own (see https://stackoverflow.com/questions/7515616/quartz-net-as-windows-service-with-jobstore-in-db).
Can anyone tell me, how to handle that problem?
Which possibilities do i have to influence connection pooling?
Full exception:
Quartz.JobPersistenceException: Failed to obtain DB connection from data source 'default': Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-01017: Benutzername/Kennwort ungültig; Anmeldung abgelehnt
bei OracleInternal.ConnectionPool.PoolManager
3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch) bei OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch) bei OracleInternal.ConnectionPool.OracleConnectionDispenser
3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, OracleConnection connRefForCriteria)bei Oracle.ManagedDataAccess.Client.OracleConnection.Open()
bei Quartz.Impl.AdoJobStore.JobStoreSupport.GetConnection() in C:\projects\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:Zeile 323. ---> Oracle.ManagedDataAccess.Client.OracleException: ORA-01017: Benutzername/Kennwort ungültig; Anmeldung abgelehnt
bei OracleInternal.ConnectionPool.PoolManager
3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch) bei OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch) bei OracleInternal.ConnectionPool.OracleConnectionDispenser
3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, OracleConnection connRefForCriteria)bei Oracle.ManagedDataAccess.Client.OracleConnection.Open()
bei Quartz.Impl.AdoJobStore.JobStoreSupport.GetConnection() in C:\projects\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:Zeile 323.
--- Ende der internen Ausnahmestapelüberwachung ---
bei Quartz.Impl.AdoJobStore.JobStoreSupport.GetConnection() in C:\projects\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:Zeile 327.
bei Quartz.Impl.AdoJobStore.JobStoreSupport.d__262
1.MoveNext() in C:\projects\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:Zeile 3816. --- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde --- bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() bei Quartz.Impl.AdoJobStore.JobStoreSupport.<ExecuteInNonManagedTXLock>d__262
1.MoveNext() in C:\projects\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:Zeile 3831.--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
bei Quartz.Impl.AdoJobStore.JobStoreSupport.d__228.MoveNext() in C:\projects\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:Zeile 2542.
--- Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde ---
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei Quartz.Core.QuartzSchedulerThread.d__28.MoveNext() in C:\projects\quartznet\src\Quartz\Core\QuartzSchedulerThread.cs:Zeile 262. [See nested exception: Oracle.ManagedDataAccess.Client.OracleException (0x80004005): ORA-01017: Benutzername/Kennwort ungültig; Anmeldung abgelehnt
bei OracleInternal.ConnectionPool.PoolManager
3.Get(ConnectionString csWithDiffOrNewPwd, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch) bei OracleInternal.ConnectionPool.OraclePoolManager.Get(ConnectionString csWithNewPassword, Boolean bGetForApp, OracleConnection connRefForCriteria, String affinityInstanceName, Boolean bForceMatch) bei OracleInternal.ConnectionPool.OracleConnectionDispenser
3.Get(ConnectionString cs, PM conPM, ConnectionString pmCS, SecureString securedPassword, SecureString securedProxyPassword, OracleConnection connRefForCriteria)bei Oracle.ManagedDataAccess.Client.OracleConnection.Open()
bei Quartz.Impl.AdoJobStore.JobStoreSupport.GetConnection() in C:\projects\quartznet\src\Quartz\Impl\AdoJobStore\JobStoreSupport.cs:Zeile 323.]
Beta Was this translation helpful? Give feedback.
All reactions