AWS Hata İletisi: Bu kaynağa karşı şu anda çakışan bir koşullu işlem devam ediyor


181

Bu hatayı aralıklı olarak alıyorum.

Java aws sdk kullanan ve ss için küçük binlerce 10 dosya üzerinden yükler bir program var. Bu hatayı aralıklı olarak görüyorum.

İnternette hızlı bir arama yaptıktan sonra herhangi bir yararlı cevap bulunamadı.

Çağıran programın tek iş parçacıklı olduğunu unutmayın. Temel aws java sdk işçi iş parçacığı kullanıyor gibi görünüyor.

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)

1
Nesneleri S3'e koyup hemen okuyor musunuz?
jamieb

@jamieb, aslında hayır, şu anda değil.
user1172468

1
Keşke sana bir cevap versem. Aynı anahtarları hızlı bir şekilde art arda yazmaya mı çalışıyorsunuz? S3, PUT'ların yerleşmek için zamana ihtiyaç duyduğu "sonunda tutarlı" bir model üzerine inşa edilmiştir.
jamieb

@jamieb, beyin döngülerini harcadığınız için teşekkürler ama Guy'ın verdiği cevap doğru bence. Kodumda bir kova oluşturmak için yeniden denemek düşünüyorum - incelikle başarısız bekliyor - zaman% 99.99 gibi ve bazen bu hatayı atar. Yine bana yardım etmek için zaman ayırdığınız için teşekkür ederiz. Cheer!
user1172468

Takip için teşekkürler. İyi şanslar!
jamieb

Yanıtlar:


464

Aşağıdakileri yaptığımda aynı hata mesajını aldım:

  1. bir kova oluşturdu - varsayılan olarak ABD bölgesine gitti (AWSCLI kullanılır)

  2. farkedilirse, kova AB bölgesine gidip silinir (AWS konsolu kullanılır)

  3. (birkaç dakika sonra) AB bölgesini belirterek grubu oluşturmaya çalıştı

3. adımda, AWS konsolu bana sorunuzun başlığındaki hata mesajını gösterdi.

Bu yüzden sanırım, ABD'deki kova silindi, ancak muhtemelen zaman alan bazı senkronizasyon işlemleri var. Ve umarım, birkaç saat bekledikten sonra kova adını tekrar yaratılabilir olarak bulacağım - bu sefer uygun (AB) bölgede.

DÜZELTME: - Düzenleme: Yaklaşık bir saat sonra, kova oluşturma girişimim (AB bölgesinde) başarılı oldu.


4
Ben sadece aynı durumla karşılaştım. Önümüzdeki saat içinde kepçemi oluşturabilirsem geri göndereceğim.
AJB

27
Bunu onaylayabilirim. Yaklaşık 1,5 saat sürdü ve bu arada başka birinin kova adını almayacağının garantisi yok, ancak makul bir süre içinde ve biraz şansla geri döndüğünü geri alabilirsiniz.
AJB

1
@Jan ile katılıyorum Bunu çözmek için: Yeni adla yeni bir grup oluşturun, Yeni grubunuzu adlandırırken silinmiş grubun adını kullanmayın.
Dinesh Sunny

5
Benim için 70 dakikadan az sürdü.
offby1

4
Amazon, 10 saate
TomDotTom

37

Bu hata mesajını aramada 1. sonuç olarak Google'dan bu konuya rastlayan diğer herkes için:

Kepçeyi sildiyseniz, yeni bölgede yeniden oluşturmak için, bu arka plan senkronizasyonu tamamlanana kadar "manuel" olarak beklemeyin , bunun yerine, gerekli kova oluşturma işleminizi 5 saniyede bir çalıştırmak ve yeniden denemek için küçük bir bash betiği koyun.

Misal:

#!/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!"

"kova oluştur" işlemini sizin için birkaç saniyede bir ('uyku' durumuna bağlıdır) yeniden dener ve mümkün olan en kısa sürede sizin için oluşturur, böylece kimse yanlışlıkla kova adınızı çalamaz :)

Umarım yardımcı olur :)


1
Bunun için teşekkürler! Aşağıdaki hatasıyla sonuçlandı olarak benim durumda, ben zaten aws yapılandırma ve komut dosyası çalıştırılırken tanımlanan bölgeyi vardı: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 17: ordinal not in range(128). Çözüm --regionbayrağı kaldırmaktı .
MagentoAaron

23

Örneğinizdeki istek bir grup oluşturmaktır. Çok fazla kova oluşturmaya veya kovaları değiştirmeye çalışıyorsanız, sağlıklı değildir.

Bir hesap için 100 kova sınırınız olduğunu unutmayın ( buraya bakın ). DÜZENLE: Şimdi bu sınır bir "yumuşak sınır" dır ve gerekirse bu sınırı artırabilirsiniz.

Ayrıca, bir kova oluşturmanın zaman aldığını ve:

... uygulamanızın yüksek kullanılabilirlik kodu yolunda çağrı oluşturmaya veya silmeye izin vermek uygun değildir ...

Kovalarınızı bir kez oluşturmak daha iyidir, daha sonra mevcut kovalarınıza (veya hatta tek bir tanesine) istediğiniz kadar nesne koyabilirsiniz.

Her neyse, ara sıra başarısız olan bir sistemle çalışırken, böyle bir hata alırken hataları işleyebilmeniz ve sürecinizi yavaşlatabilmeniz gerekir. AWS Belgeleri'nde daha fazla ayrıntı görün .


11

Bu hata genellikle bir Grup silindiğinde ve eski grupla aynı adda yeni bir grup oluşturulduğunda oluşur.

Aynı adda yeni bir grup oluşturabilmemiz için belirli bir süre beklememiz gerektiğine inanıyorum.


8

Basit ve anlaşılır: Yeni grup adını değiştirin veya 1 saat bekleyin.


0

Bu iletiyi, hesapta zaten 100'den fazla kova olduğunda da alırsınız. 100 kova yumuşak bir sınır vardır.


-1

Grup adınızı değiştirin veya bekleyin. Benim için 30 dakikadan az bekledim. Adı değiştirmem gerekmedi ve üzerinde ayarladığım gibi değiştiremedim - barındırmak istediğim statik bir web sitesi için zaten mevcut alan adımla eşleşmesi gerekiyordu. Her neyse, 30 dakikadan az bir sürede otomatik olarak oluşturuldu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.