Bucketerstellung Parameter
S3 Buckets werden durch autodigit erstellt.
Parameter zur Erstellung mehrerer Buckets zur Objektverteilung. (Erfordert, dass mehere Suchen ausgefüht werden müssen damit die Objekte gefunden werden)
bucketGroups = Anzahl der Bucketgroups (Darf nachträglich erhöht werden, nie verringert)
bucketsPerGroup = Anzahl der Buckets innerhalb einer Gruppe (darf sich nicht ändern, da der Alorithmus zum Ablegen und auffinden hierauf basiert)
Bucketerstellung erfolgt erst bei Zugrif. Es werden nur benötigte Buckets erstellt. Objekte in einem Ordner (z.B. AL-Componenten) können in meheren Buckets verteilt werden. Dazu zählen auch die KGS-Metainformationen. Ein AL-Dokument kann dadurch in mehreren Buckets verteilt liegen.
Bei der Ablage wird anhand eines Algorithmus entschieden welche Buckets angelegt werden.
Bei der Suche (z.B. AL-Info Command für ein AL-Dokument) wird in allen Buckets gesucht, auch, wenn diese noch nicht erzeugt sind um alle AL-Componentent zu finden.
Bei AL-Get wird der mögliche Zielbucket anhand des Algorighmus gefunden. Es wird die Anzahl an Suchen gleich der Einstellung von bucketGroups durchgeführt. Die Suche ist hier parallelisiert.
Erzeugung von Buckets:
Benötigte Buckets werden erst bei Zugriff (z.B. durch eine Ablage) erzeugt.
Timeout Bucketerzeugung:
Bei der Erzeugung der Buckets wird für maximal 40 Sekunden gewartet.
10 Sekunden wird auf die Erzeugung des Buckets gewartet. Maximal 30 Sekunden danach wird geprüft, ob der Bucket erstellt wurde. Dies ergibt eine maximale Wartezeit von 40 Sekunden.
Kann der Bucket nicht erzeugt werden wird Fehlermeldung “Bucket '<Bucketname>' cannot be created" als Error-Log geschrieben.
Skriptausführung
Danach wird das “onBucketCreate“-Skript ausgeführt. Core of tia wartet, bis die Ausführung Erfolgreich zu Ende war oder mit einem Fehler abgelehnt wurde. Es wird kein Timeout gesetzt.
Als Fehler kommen zwei Möglichkeiten in Frage:
Fehler vor der Ausführung (Skript nicht gefunden, Befehl falsch …) führt zu Log Eintrag: “createBucket failed <Bucketname> with Eception Message: <Fehlermeldung>
Fehler bei der Ausführung des Skripts (Skript kann nicht erfolgreich zu Ende laufen): "ScriptExecution failed in create-bucket <Bucketname> for repository <Repository> failed"
Timeoutüberlegungen mit zugreifenden Applikationen
Sollten mehrere Buckets benötigt werden (ein Dokument kann z.B. in mehrere Buckets aufgeteilt werden) summiert sich diese Zeiten. Pro erzeugtem Bucket erfolgt eine maximale Wartezeit von 40 Sekunden für die Anlage plus die Zeit zur Skriptausführung. Es ist darauf zu achten, dass zugreifende Applikationen eigene Timeouts haben. Diese sind entsprechen zu konfigurieren und bei der Erstablage zu beachten. Sind die Buckets bereits erzeugt erfolgt nur noch der direkte Zugriff zum Schreiben und Lesen.