AppSync: Polecenie interfejsu wiersza poleceń AppSync sporadycznie kończy się niepowodzeniem
Summary: Polecenie interfejsu wiersza poleceń AppSync sporadycznie kończy się niepowodzeniem
Symptoms
Ten problem występuje w przypadku jednoczesnej próby zalogowania się wielu logowań za pomocą interfejsu wiersza poleceń AppSync. Problem występuje bardzo sporadycznie.
Użytkownik uruchamia interfejs wiersza poleceń AppSync w celu uruchomienia planu serwisowego, wyświetlenia listy wszystkich kopii i zamontowania/odmontowania kopii, ale sporadycznie kończy się to niepowodzeniem.
Uruchomienie planu serwisowego kończy się niepowodzeniem z:
C:\EMC\AppSync\appsync-cli\appsync-cli.bat -login server=xxxxxx port=8445 user=admin password=xxxxxxxx INFO: Successfully authenticated AppSync! C:\EMC\AppSync\appsync-cli\appsync-cli.bat -runSP app=filesystem service_plan=xxxxxxx ERROR: Failed to run SP!
Lista wszystkich kopii, które zostały utworzone dla planu serwisowego lub obiektu aplikacji kończy się niepowodzeniem, z:
C:\EMC\AppSync\appsync-cli\appsync-cli.bat -login server=xxxxxx port=8445 user=admin password=xxxxxxxx INFO: Successfully authenticated AppSync! C:\EMC\AppSync\appsync-cli\appsync-cli.bat -listCopies app=filesystem service_plan=xxxxxx age=all ERROR: Could not locate copies!
Widok cas.log AppSync znajdujący się w folderze C:\EMC\AppSync\apache-tomcat\bin przedstawia następujące informacje:
2017-01-05 10:20:18,330 INFO [com.emc.archway.cas.auth.CASAuthenticationAdaptor] - CASAuthenticationAdaptor constructor 2017-01-05 10:20:18,330 INFO [com.emc.archway.cas.auth.CASAuthenticationHandler] - CASAuthenticationManager::authenticateUsernamePasswordInternal username = admin 2017-01-05 10:20:18,330 INFO [com.emc.archway.cas.auth.CASAuthenticationAdaptor] - CASAuthenticationAdaptor::authenticate 2017-01-05 10:20:18,330 INFO [com.emc.archway.cas.auth.CASAuthenticationAdaptor] - CASAuthenticationAdaptor::authenticate Using CST... 2017-01-05 10:20:18,330 INFO [com.emc.archway.cas.auth.CSTInterface] - Checking for LDAP authority: PSO-AD-Authority 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - obtainCredentials: authority = PSO-AD-Authority 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - found choice authority = PSO-AD-Authority (PSO-AD-Authority) 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.CSTInterface] - CST authentication failure com.emc.csp.error.SystemException: Error decrypting data 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.ArchwayAuthentication] - OS Login disabled 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - obtainCredentials: authority = LocalDirectoryTest 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - found choice authority = LocalDirectoryTest 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.CASAuthenticationAdaptor] - CASAuthenticationAdaptor constructor 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.CASAuthenticationHandler] - CASAuthenticationManager::authenticateUsernamePasswordInternal username = admin 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.CASAuthenticationAdaptor] - CASAuthenticationAdaptor::authenticate 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.CASAuthenticationAdaptor] - CASAuthenticationAdaptor::authenticate Using CST... 2017-01-05 10:20:18,345 INFO [com.emc.archway.cas.auth.CSTInterface] - Checking for LDAP authority: PSO-AD-Authority 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - obtainCredentials: authority = PSO-AD-Authority 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - found choice authority = PSO-AD-Authority (PSO-AD-Authority) 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.CSTInterface] - CST authentication failure com.emc.csp.error.SystemException: Error decrypting data 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.ArchwayAuthentication] - OS Login disabled 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - obtainCredentials: authority = LocalDirectoryTest 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.ArchwayAuthCredentialProvider] - found choice authority = LocalDirectoryTest 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.CSTInterface] - Authentication succeeded... 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.CSTInterface] - Storing roles in lockbox ... 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.CSTInterface] - Storing userRole1 = DataAdministrator 2017-01-05 10:20:18,361 INFO [com.emc.archway.cas.auth.CSTInterface] - Storing userRole2 = ResourceAdmin 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Storing userRole3 = SecurityAdmin 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Storing userRole4 = ServicePlanAdministrator 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Authentication succeeded... 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Storing roles in lockbox ... 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Total roles = 4 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.ArchwayAuthentication] - Authentication succeeded - token 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.attributes.rolePersonAttributeDao] - getPerson called for admin 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.attributes.rolePersonAttributeDao] - retrieved cstIF ....com.emc.archway.cas.auth.CSTInterface@16ea70b 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Accesing roles in lockbox ... 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Accesing roles in lockbox ... 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - CSTInterface authenticat - storing roles - exception The Lockbox item already exists 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - Total roles found = 4 2017-01-05 10:20:18,377 INFO [com.emc.archway.cas.auth.CSTInterface] - CSTInterface authenticat - storing roles - exception The Lockbox item already exists 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - Accessed role DataAdministrator 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - CSTInterface authenticat - storing roles - exception The Lockbox item already exists 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - Accessed role ResourceAdmin 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - CSTInterface authenticat - storing roles - exception The Lockbox item already exists 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - Accessed role SecurityAdmin 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - Total roles = 4 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.ArchwayAuthentication] - Authentication succeeded - token 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.attributes.rolePersonAttributeDao] - getPerson called for admin 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.attributes.rolePersonAttributeDao] - retrieved cstIF ....com.emc.archway.cas.auth.CSTInterface@16ea70b 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - Accesing roles in lockbox ... 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - Accesing roles in lockbox ... 2017-01-05 10:20:18,392 INFO [com.emc.archway.cas.auth.CSTInterface] - Total roles found = 4 2017-01-05 10:20:18,408 INFO [com.emc.archway.cas.auth.CSTInterface] - Accessed role ServicePlanAdministrator 2017-01-05 10:20:18,408 INFO [com.emc.archway.cas.auth.CSTInterface] - Accessed role exception 2017-01-05 10:20:18,408 ERROR [com.emc.archway.cas.auth.CSTInterface] - The item name does not exist in the Lockbox com.emc.csp.error.ObjectNotFoundException: The item name does not exist in the Lockbox at com.emc.cst.cstBridge.cstBridgeJNI.LockboxService_retrieveItemAsText(Native Method) at com.emc.cst.cstBridge.LockboxService.retrieveItemAsText(LockboxService.java:153) at com.emc.csp.services.lockbox.LockboxService.retrieveItemAsText(LockboxService.java:509)
Cause
Serwer AppSync jest przeznaczony do zbierania listy ról przypisanych do użytkownika po uwierzytelnieniu.
Serwer AppSync zbiera informacje o roli po uwierzytelnieniu i zapisuje je w skrytce (podobnej do pliku) w celu późniejszego pobrania.
Gdy serwer AppSync pobierze zapisane informacje, zostaną one usunięte. Jeśli jednak wiele logowań zostanie podjętych jednocześnie, jedna sesja usunie informacje, zanim zostaną pobrane przez inną sesję.
Mówiąc prościej, jest to problem współbieżności spowodowany wielokrotnym logowaniem (więcej niż jednym) jednocześnie.
Resolution
Obejście:
Rozwiązanie tego problemu istnieje, ale wymaga pomocy działu obsługi klienta firmy Dell Technologies.
Skontaktuj się z działem obsługi klienta firmy Dell Technologies i zapoznaj się z tym artykułem, aby znaleźć poprawkę.