Komunikat o błędzie AWS: obecnie trwa konfliktowa operacja warunkowa przeciwko temu zasobowi
Dostaję ten błąd sporadycznie.
Mam program, który używa java aws sdk i ładuje ponad 10 tysięcy małych plików do s3. Widzę ten błąd sporadycznie.
Nie można znaleźć żadnej pomocnej odpowiedzi po wykonaniu szybkiego wyszukiwania w Internecie.
Uwaga program wywołujący jest jednowątkowy. Bazowy zestaw aws java sdk zdaje się używać wątków roboczych.
Status Code: 409, AWS Service: Amazon S3, AWS Request ID: 75E16E8DE2193CA6, AWS Error Code: OperationAborted, AWS Error Message: A conflicting conditional operation is currently in progress against this resource. Please try again., S3 Extended Request ID: 0uquw2YEoFamLldm+c/p412Lzd8jHJGFBDz3h7wN+/4I0f6hnGLkPMe+5LZazKnZ
at com.amazonaws.http.AmazonHttpClient.handleErrorResponse(AmazonHttpClient.java:552)
at com.amazonaws.http.AmazonHttpClient.executeHelper(AmazonHttpClient.java:289)
at com.amazonaws.http.AmazonHttpClient.execute(AmazonHttpClient.java:170)
at com.amazonaws.services.s3.AmazonS3Client.invoke(AmazonS3Client.java:2648)
at com.amazonaws.services.s3.AmazonS3Client.createBucket(AmazonS3Client.java:578)
at com.amazonaws.services.s3.AmazonS3Client.createBucket(AmazonS3Client.java:503)
5 answers
Otrzymałem ten sam komunikat o błędzie, gdy wykonałem następujące czynności:
-
Utworzono wiadro - domyślnie poszło do US region (used AWSCLI)
-
Zrealizowane, wiadro powinno przejść do regionu EU i usunąć go (używana konsola AWS)
-
(kilka minut później) próbował utworzyć wiadro, określając region UE
W kroku 3 konsola AWS pokazała mi komunikat o błędzie z tytułu twojego pytania.
Więc chyba, że wiadro w nas zostało usunięte, ale możliwe, że są pewne procesy synchronizacji, które wymagają czasu. I mam nadzieję, że w oczekiwaniu na kilka godzin ponownie znajdę Nazwę wiadra do stworzenia - tym razem w odpowiednim (UE) regionie.
Poprawka: - Edycja: około godziny później moja próba stworzenia wiadra (w regionie UE) powiodła się.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-27 18:33:53
Żądanie w twoim przykładzie polega na utworzeniu wiadra. Jeśli próbujesz utworzyć zbyt wiele wiadra lub wymienić wiadra, nie jest to zdrowe.
Pamiętaj, że masz limit 100 wiader dla konta (Zobacz tutaj). EDIT: teraz ten limit jest "miękkim limitem" i możesz go zwiększyć w razie potrzeby.
Zauważ również, że tworzenie wiadra wymaga czasu i:
... nie jest właściwe aby bucket tworzył lub usuwał połączenia na ścieżka kodu wysokiej dostępności Twoje podanie...
Lepiej jest utworzyć raz wiadra, a następnie umieścić dowolną liczbę obiektów, które lubisz w istniejących wiadrach (lub nawet w jednym).
W każdym razie, podczas pracy z systemem, który od czasu do czasu może zawieść, powinieneś być w stanie obsłużyć błędy i spowolnić proces po otrzymaniu takiego błędu. Zobacz więcej szczegółów w AWS Docs .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-10 00:36:28
Dla wszystkich, którzy natkną się na ten wątek z google, jako pierwszy wynik w poszukiwaniu tego komunikatu o błędzie:
Jeśli usunąłeś bucket, aby odtworzyć go w nowym regionie, nie czekaj "ręcznie", aż synchronizacja w tle zostanie zakończona, zamiast tego Uruchom mały skrypt bash i spróbuj ponownie utworzyć potrzebne bucket co 5 sekund lub więcej.
Przykład:
#!/bin/bash
RESULT=2
until [ $RESULT -eq 0 ]; do
aws s3 mb s3://your.bucket.name --region us-west-2
RESULT=$?
sleep 5
done
echo "Bucket created!"
Powtórzy operację "Utwórz wiadro" dla ciebie, co kilka sekund (w zależności od "uśpienia") i tak szybko, jak jest to możliwe-stworzy go dla ciebie, więc nikt nie może ukraść nazwy wiadra przez pomyłkę :)
Mam nadzieję, że pomoże:)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-07 08:45:10
Ten błąd występuje zwykle, gdy wiadro jest usuwane i tworzone jest nowe wiadro o tej samej nazwie, co stare wiadro.
Uważam, że musimy poczekać pewien czas, aż stworzymy nowe wiadro o tej samej nazwie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-03 21:55:55
Proste i proste: Zmień nową nazwę wiadra lub odczekaj 1 godzinę.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-20 00:44:00