<commit_before>#!/bin/bash



PRI=$(mongo --quiet --eval "rs.isMaster()['primary']")


# Starte den urspruenglichen entrypoint mit den Parametern, die das aktuelle Script erhalten hat
/entrypoint.sh "$@"<commit_msg>init für replicaset erweitert<commit_after>#!/bin/bash

#Ein paar Sekunden schlafen, da parallel erstmal die Mongo DB gestartet wird
sleep 5

#Lese bisherige Anzahl der Mongo-Instanzen
#nslookup gibt die IP Adressen der Instanzen aus
#sed entfernt alle Zeilen, die nicht mit Address anfangen
#awk gibt die dritte Spalte aus, dort stehen die IP Adressen
#wc -l zaehlt die Zeilen
MONGO_INSTANZEN=$(nslookups tasks.$MONGO_DNS_NAME | sed '/^Address/!d' | awk '{print $3}')
ANZAHL_MONGO_INSTANZEN=$(echo $MONGO_INSTANZEN | wc -l)

if [[ ANZAHL_MONGO_INSTANZEN <= 1 ]] ; then
   EIGENE_IP_ADRESSE=$(hostname --ip-address)
   mongo --eval "rs.initiate({'_id':'newspage-mongo-set','members':[{'_id':0,'host':'$EIGENE_IP_ADRESSE:27017'}]})"
   echo "ReplicaSet initialisiert"
else

   ADRESSE_PRIMARY=""
   
   for i in $MONGO_INSTANZEN; do
      #Frage auf allen Mongo Instanzen nach der Primary
      ADRESSE_PRIMARY=$(mongo $i --quiet --eval "rs.isMaster()['primary']")
      
      if [[ ! -z $ADRESSE_PRIMARY ]] ; then
         break
      if
   done
   
   if [[ -z $ADRESSE_PRIMARY ]] ; then
       echo "Primary Adresse nicht gefunden"
       exit 1
   fi
    
   echo "Primary ist $ADRESSE_PRIMARY"
fi

# Starte den urspruenglichen entrypoint mit den Parametern, die das aktuelle Script erhalten hat
/entrypoint.sh "$@"
{'fraction_non_alphanumeric': 0.1166883963494133, 'fraction_numerical': 0.00651890482398957, 'mean_word_length': 3.9356913183279745, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '960461', 'n_tokens_mistral': 597, 'n_tokens_neox': 560, 'n_words': 156}