Skip to content

Created test-support-logstash-versions.rec #3383

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

PavelShilin89
Copy link
Contributor

Type of Change (select one):

  • New feature

Description of the Change:

Related Issue (provide the link):

Copy link

clt-amd64

❌ CLT tests in test/clt-tests/integrations/test-integrations-
✅ OK: 4
❌ Failed: 1
⏳ Duration: 478s
👉 Check Action Results for commit 51a5ad5
Failed tests:

test/clt-tests/integrations/test-integrations-support-logstash-versions.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd > /dev/null; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
set -b
––– output –––
OK
––– input –––
export PATH=/usr/bin:/usr/local/bin:/usr/sbin:/sbin:/bin
––– output –––
OK
––– input –––
apt-get update > /dev/null 2>&1 && apt-get install -y gnupg openjdk-11-jre-headless curl jq mysql-client > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
curl -s "https://hub.docker.com/v2/repositories/library/logstash/tags/?page_size=100" \
| jq -r ".results[].name" \
| grep "^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$" \
| sed "s/\.[0-9]*$//" \
| awk '!/rc|beta|alpha/' \
| sort -V | uniq
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-7.17.0-linux-x86_64.tar.gz" -O logstash-7.17.0.tar.gz && gzip -t logstash-7.17.0.tar.gz 2>/dev/null && tar -tzf logstash-7.17.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 7.17.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 7.17.0 after 3 attempts" >&2 || rm -f logstash-7.17.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.0.0-linux-x86_64.tar.gz" -O logstash-8.0.0.tar.gz && gzip -t logstash-8.0.0.tar.gz 2>/dev/null && tar -tzf logstash-8.0.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.0.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.0.0 after 3 attempts" >&2 || rm -f logstash-8.0.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.1.0-linux-x86_64.tar.gz" -O logstash-8.1.0.tar.gz && gzip -t logstash-8.1.0.tar.gz 2>/dev/null && tar -tzf logstash-8.1.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.1.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.1.0 after 3 attempts" >&2 || rm -f logstash-8.1.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.2.0-linux-x86_64.tar.gz" -O logstash-8.2.0.tar.gz && gzip -t logstash-8.2.0.tar.gz 2>/dev/null && tar -tzf logstash-8.2.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.2.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.2.0 after 3 attempts" >&2 || rm -f logstash-8.2.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.3.0-linux-x86_64.tar.gz" -O logstash-8.3.0.tar.gz && gzip -t logstash-8.3.0.tar.gz 2>/dev/null && tar -tzf logstash-8.3.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.3.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.3.0 after 3 attempts" >&2 || rm -f logstash-8.3.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.4.0-linux-x86_64.tar.gz" -O logstash-8.4.0.tar.gz && gzip -t logstash-8.4.0.tar.gz 2>/dev/null && tar -tzf logstash-8.4.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.4.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.4.0 after 3 attempts" >&2 || rm -f logstash-8.4.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.5.0-linux-x86_64.tar.gz" -O logstash-8.5.0.tar.gz && gzip -t logstash-8.5.0.tar.gz 2>/dev/null && tar -tzf logstash-8.5.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.5.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.5.0 after 3 attempts" >&2 || rm -f logstash-8.5.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.6.0-linux-x86_64.tar.gz" -O logstash-8.6.0.tar.gz && gzip -t logstash-8.6.0.tar.gz 2>/dev/null && tar -tzf logstash-8.6.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.6.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.6.0 after 3 attempts" >&2 || rm -f logstash-8.6.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.7.0-linux-x86_64.tar.gz" -O logstash-8.7.0.tar.gz && gzip -t logstash-8.7.0.tar.gz 2>/dev/null && tar -tzf logstash-8.7.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.7.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.7.0 after 3 attempts" >&2 || rm -f logstash-8.7.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.8.0-linux-x86_64.tar.gz" -O logstash-8.8.0.tar.gz && gzip -t logstash-8.8.0.tar.gz 2>/dev/null && tar -tzf logstash-8.8.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.8.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.8.0 after 3 attempts" >&2 || rm -f logstash-8.8.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.9.0-linux-x86_64.tar.gz" -O logstash-8.9.0.tar.gz && gzip -t logstash-8.9.0.tar.gz 2>/dev/null && tar -tzf logstash-8.9.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.9.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.9.0 after 3 attempts" >&2 || rm -f logstash-8.9.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.10.0-linux-x86_64.tar.gz" -O logstash-8.10.0.tar.gz && gzip -t logstash-8.10.0.tar.gz 2>/dev/null && tar -tzf logstash-8.10.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.10.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.10.0 after 3 attempts" >&2 || rm -f logstash-8.10.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.11.0-linux-x86_64.tar.gz" -O logstash-8.11.0.tar.gz && gzip -t logstash-8.11.0.tar.gz 2>/dev/null && tar -tzf logstash-8.11.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.11.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.11.0 after 3 attempts" >&2 || rm -f logstash-8.11.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.12.0-linux-x86_64.tar.gz" -O logstash-8.12.0.tar.gz && gzip -t logstash-8.12.0.tar.gz 2>/dev/null && tar -tzf logstash-8.12.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.12.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.12.0 after 3 attempts" >&2 || rm -f logstash-8.12.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.13.0-linux-x86_64.tar.gz" -O logstash-8.13.0.tar.gz && gzip -t logstash-8.13.0.tar.gz 2>/dev/null && tar -tzf logstash-8.13.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.13.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.13.0 after 3 attempts" >&2 || rm -f logstash-8.13.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.14.0-linux-x86_64.tar.gz" -O logstash-8.14.0.tar.gz && gzip -t logstash-8.14.0.tar.gz 2>/dev/null && tar -tzf logstash-8.14.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.14.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.14.0 after 3 attempts" >&2 || rm -f logstash-8.14.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.15.0-linux-x86_64.tar.gz" -O logstash-8.15.0.tar.gz && gzip -t logstash-8.15.0.tar.gz 2>/dev/null && tar -tzf logstash-8.15.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.15.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.15.0 after 3 attempts" >&2 || rm -f logstash-8.15.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.16.0-linux-x86_64.tar.gz" -O logstash-8.16.0.tar.gz && gzip -t logstash-8.16.0.tar.gz 2>/dev/null && tar -tzf logstash-8.16.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.16.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.16.0 after 3 attempts" >&2 || rm -f logstash-8.16.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.17.0-linux-x86_64.tar.gz" -O logstash-8.17.0.tar.gz && gzip -t logstash-8.17.0.tar.gz 2>/dev/null && tar -tzf logstash-8.17.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.17.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.17.0 after 3 attempts" >&2 || rm -f logstash-8.17.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.18.0-linux-x86_64.tar.gz" -O logstash-8.18.0.tar.gz && gzip -t logstash-8.18.0.tar.gz 2>/dev/null && tar -tzf logstash-8.18.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.18.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.18.0 after 3 attempts" >&2 || rm -f logstash-8.18.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-9.0.0-linux-x86_64.tar.gz" -O logstash-9.0.0.tar.gz && gzip -t logstash-9.0.0.tar.gz 2>/dev/null && tar -tzf logstash-9.0.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 9.0.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 9.0.0 after 3 attempts" >&2 || rm -f logstash-9.0.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
cat << 'EOF' > /tmp/logstash-single-test.sh
#!/bin/bash
set -euo pipefail

# Проверка аргумента с версией
if [ $# -ne 1 ]; then
    echo "✗ Usage: $0 <logstash_version>" >&2
    echo "✗ Example: $0 8.14" >&2
    exit 1
fi

VERSION="$1"
LOG_DIR="/var/log"
LOGSTASH_LOG="$LOG_DIR/logstash.log"
TEMP_DATA_DIR="/tmp/logstash_test_${VERSION}"
TEST_LOG="/var/log/dpkg.log"

# Тихая очистка всех процессов Logstash
killall -9 java logstash ruby 2>/dev/null || true
sleep 1

# Тихая очистка временных файлов
rm -rf "$TEMP_DATA_DIR" 2>/dev/null || true
mkdir -p "$TEMP_DATA_DIR"
chmod 777 "$TEMP_DATA_DIR"

rm -f "$LOGSTASH_LOG"
touch "$LOGSTASH_LOG"
chmod 644 "$LOGSTASH_LOG"

# Заголовок теста
echo ">>> Testing Logstash version: $VERSION"

# Создание тестового лога
echo -e "2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>\n2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>\n2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1\n2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9\n2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9" > "$TEST_LOG"
chmod 644 "$TEST_LOG"

# Проверка количества строк в логе
log_lines=$(wc -l < "$TEST_LOG")
if [ "$log_lines" -eq 5 ]; then
    echo "✓ Log file has 5 lines"
else
    echo "✗ Error: Expected 5 lines, got $log_lines" >&2
    exit 1
fi

# Проверка доступности Manticore Search
if curl -s localhost:9308/cli_json -d 'show status' > /dev/null; then
    echo "✓ Manticore Search available"
else
    echo "✗ Error: Manticore Search unavailable" >&2
    exit 1
fi

# Создание таблицы в Manticore
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS dpkg_log" > /dev/null 2>&1
mysql -h0 -P9306 -e "CREATE TABLE dpkg_log (id bigint, message string attribute indexed, host string attribute indexed, path string attribute indexed, \`@version\` string attribute indexed, \`@timestamp\` timestamp)" > /dev/null 2>&1 || {
    echo "✗ Error: Failed to create table dpkg_log" >&2
    exit 1
}

# Создание symbolic для запуска нужной версии
cd /usr/share/logstash
ln -sf "/usr/share/logstash/logstash-${VERSION}.0/bin/logstash" /usr/bin/logstash > /dev/null 2>&1 || {
    echo "✗ Error: Failed to create symlink for Logstash $VERSION" >&2
    exit 1
}

# Определение версионных параметров
version_major=$(echo "$VERSION" | cut -d. -f1)
version_minor=$(echo "$VERSION" | cut -d. -f2)

ecs_args=""
if [ "$version_major" -gt 7 ] || ([ "$version_major" -eq 7 ] && [ "$version_minor" -ge 5 ]); then
    ecs_args="--pipeline.ecs_compatibility v1"
fi

# Настройки ILM для версии 8+
ilm_settings=""
if [ "$version_major" -ge 8 ]; then
    ilm_settings="ilm_enabled => false
    manage_template => false"
fi

# Создание конфигурации Logstash
CONFIG_FILE="/tmp/logstash_config_${VERSION}.conf"
cat > "$CONFIG_FILE" << CONF
input {
  file {
    path => ["$TEST_LOG"]
    start_position => "beginning"
    sincedb_path => "/dev/null"
    mode => "read"
  }
}
filter {
  mutate {
    replace => {
      "@version" => "1"
      "host" => "logstash"
      "path" => "$TEST_LOG"
    }
    remove_field => ["event", "log"]
  }
  ruby {
    code => "event.set('id', (Time.now.to_f * 1000000).to_i)"
  }
}
output {
  elasticsearch {
    hosts => ["http://localhost:9308"]
    index => "dpkg_log"
    action => "index"
    timeout => 30
    $ilm_settings
  }
}
CONF

# Дополнительные опции JVM
export LS_JAVA_OPTS="-Xms256m -Xmx512m"

# Запуск Logstash - выполняем без ожидания, просто с блокировкой на заданное время
(
  timeout 60 logstash --path.data="$TEMP_DATA_DIR" -f "$CONFIG_FILE" --pipeline.batch.size 10 $ecs_args > /dev/null 2>&1
  echo "Logstash process completed" > /dev/null  # Тихое завершение
) &

# Ожидаем фиксированное время и проверяем результаты без промежуточных сообщений
sleep 60 > /dev/null 2>&1

# Принудительно завершаем все процессы Logstash
killall -9 java logstash ruby 2>/dev/null || true
sleep 2 > /dev/null 2>&1

echo "✓ Logstash $VERSION started and processed logs"

# Проверка количества записей (только один раз, без цикла)
row_count=$(mysql -h0 -P9306 -N -B -e "SELECT COUNT(*) FROM dpkg_log" | grep -o '[0-9]\+' || echo "0")
if [ "$row_count" -eq 5 ]; then
    echo "✓ Row count check for $VERSION: $row_count rows"
else
    echo "✗ Error: Expected 5 rows, got $row_count" >&2
    mysql -h0 -P9306 -e "SELECT * FROM dpkg_log\G" >&2
    exit 1
fi

# Проверка структуры таблицы
structure_ok=true
for field in "id" "message" "host" "path" "@version" "@timestamp"; do
    if ! mysql -h0 -P9306 -N -B -e "SELECT $field FROM dpkg_log LIMIT 1" > /dev/null 2>&1; then
        structure_ok=false
        echo "✗ Error: Field '$field' check failed" >&2
        break
    fi
done

if $structure_ok; then
    echo "✓ Structure check for $VERSION: passed"
else
    echo "✗ Error: Structure check failed" >&2
    mysql -h0 -P9306 -e "DESCRIBE dpkg_log" >&2
    exit 1
fi

echo "✓ Logstash version $VERSION tested successfully"

# Тихая очистка временных файлов
rm -f "$CONFIG_FILE" > /dev/null 2>&1
EOF
––– output –––
OK
––– input –––
chmod +x /tmp/logstash-single-test.sh; echo $?
––– output –––
OK
––– input –––
bash /tmp/logstash-single-test.sh 7.17
––– output –––
- ✓ Logstash 7.17 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 7.17: 5 rows
- ✓ Structure check for 7.17: passed
- ✓ Logstash version 7.17 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.0
––– output –––
- ✓ Logstash 8.0 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.0: 5 rows
- ✓ Structure check for 8.0: passed
- ✓ Logstash version 8.0 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.1
––– output –––
- ✓ Logstash 8.1 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.1: 5 rows
- ✓ Structure check for 8.1: passed
- ✓ Logstash version 8.1 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.2
––– output –––
- ✓ Logstash 8.2 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.2: 5 rows
- ✓ Structure check for 8.2: passed
- ✓ Logstash version 8.2 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.3
––– output –––
- ✓ Logstash 8.3 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.3: 5 rows
- ✓ Structure check for 8.3: passed
- ✓ Logstash version 8.3 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.4
––– output –––
- ✓ Logstash 8.4 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.4: 5 rows
- ✓ Structure check for 8.4: passed
- ✓ Logstash version 8.4 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.5
––– output –––
- ✓ Logstash 8.5 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.5: 5 rows
- ✓ Structure check for 8.5: passed
- ✓ Logstash version 8.5 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.6
––– output –––
- ✓ Logstash 8.6 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.6: 5 rows
- ✓ Structure check for 8.6: passed
- ✓ Logstash version 8.6 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.7
––– output –––
- ✓ Logstash 8.7 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.7: 5 rows
- ✓ Structure check for 8.7: passed
- ✓ Logstash version 8.7 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.8
––– output –––
- ✓ Logstash 8.8 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.8: 5 rows
- ✓ Structure check for 8.8: passed
- ✓ Logstash version 8.8 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.9
––– output –––
- ✓ Logstash 8.9 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.9: 5 rows
- ✓ Structure check for 8.9: passed
- ✓ Logstash version 8.9 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.10
––– output –––
- ✓ Logstash 8.10 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.10: 5 rows
- ✓ Structure check for 8.10: passed
- ✓ Logstash version 8.10 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.11
––– output –––
- ✓ Logstash 8.11 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.11: 5 rows
- ✓ Structure check for 8.11: passed
- ✓ Logstash version 8.11 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.12
––– output –––
- ✓ Logstash 8.12 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.12: 5 rows
- ✓ Structure check for 8.12: passed
- ✓ Logstash version 8.12 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.13
––– output –––
- ✓ Logstash 8.13 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.13: 5 rows
- ✓ Structure check for 8.13: passed
- ✓ Logstash version 8.13 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.14
––– output –––
- ✓ Logstash 8.14 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.14: 5 rows
- ✓ Structure check for 8.14: passed
- ✓ Logstash version 8.14 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.15
––– output –––
- ✓ Logstash 8.15 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.15: 5 rows
- ✓ Structure check for 8.15: passed
- ✓ Logstash version 8.15 tested successfully
––– input –––
bash /tmp/logstash-single-test.sh 8.18
––– output –––
- ✓ Logstash 8.18 started and processed logs
+ /tmp/logstash-single-test.sh: line 62: cd: /usr/share/logstash: No such file or directory
- ✓ Row count check for 8.18: 5 rows
- ✓ Structure check for 8.18: passed
- ✓ Logstash version 8.18 tested successfully
––– input –––
rm -f /tmp/logstash_cache/logstash-*.tar.gz
––– output –––
OK

Copy link

clt-arm64

❌ CLT tests in test/clt-tests/installation/deb-dev-u
✅ OK: 0
❌ Failed: 1
⏳ Duration: 48s
👉 Check Action Results for commit 57e17f1
Failed tests:

test/clt-tests/installation/deb-dev-update.rec
––– input –––
export PATH=/usr/bin:/usr/local/bin:/usr/sbin:/sbin:/bin
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get install -y gnupg2 wget mariadb-client procps binutils > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
wget -q https://repo.manticoresearch.com/manticore-repo.noarch.deb
––– output –––
OK
––– input –––
dpkg -i manticore-repo.noarch.deb > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get install -y manticore manticore-extra > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
stdbuf -oL searchd --version
––– output –––
OK
––– input –––
manticore-executor -v
––– output –––
OK
––– input –––
mkdir -p /var/run/manticore
––– output –––
OK
––– input –––
stdbuf -oL searchd
––– output –––
OK
––– input –––
rm /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
ps aux | grep -q '[s]earchd'; echo $?
––– output –––
OK
––– input –––
manticore-backup --version
––– output –––
OK
––– input –––
export current_version_searchd=$(searchd --version | head -n 1 | cut -d" " -f2); echo $current_version_searchd
––– output –––
OK
––– input –––
export current_version_columnar=$(searchd --version | sed -n 's/.*columnar \([^ )]*\).*/\1/p'); echo $current_version_columnar
––– output –––
OK
––– input –––
export current_version_secondary=$(searchd --version | sed -n 's/.*secondary \([^ )]*\).*/\1/p'); echo $current_version_secondary
––– output –––
OK
––– input –––
export current_version_knn=$(searchd --version | sed -n 's/.*knn \([^ )]*\).*/\1/p'); echo $current_version_knn
––– output –––
OK
––– input –––
export current_version_galera=$(strings /usr/share/manticore/modules/libgalera_manticore.so | grep -oE '[0-9]+\.[0-9]+' | head -n1); echo $current_version_galera
––– output –––
OK
––– input –––
export current_version_buddy=$(mysql -h0 -P9306 -e "SHOW STATUS LIKE 'version'\G" | awk -F'[ v()]+' '/buddy v/{print $(NF-1)}'); echo $current_version_buddy
––– output –––
OK
––– input –––
wget -q https://repo.manticoresearch.com/manticore-dev-repo.noarch.deb; echo $?
––– output –––
OK
––– input –––
dpkg -i manticore-dev-repo.noarch.deb > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt -y install manticore manticore-extra manticore-common manticore-server manticore-server-core manticore-tools manticore-executor manticore-buddy manticore-backup manticore-columnar-lib manticore-server-core-dbgsym manticore-tools-dbgsym manticore-columnar-lib-dbgsym manticore-icudata-65l manticore-galera > /dev/null
––– output –––
- perl: warning: Setting locale failed.
+ E: Unable to correct problems, you have held broken packages.
- perl: warning: Please check that your locale settings:
- 	LANGUAGE = (unset),
- 	LC_ALL = (unset),
- 	LANG = "en_US.UTF-8"
-     are supported and installed on your system.
- perl: warning: Falling back to the standard locale ("C").
- debconf: delaying package configuration, since apt-utils is not installed
––– input –––
stdbuf -oL searchd --stop
––– output –––
OK
––– input –––
mkdir -p /var/run/manticore
––– output –––
OK
––– input –––
sleep 5; stdbuf -oL searchd | head -n 9
––– output –––
OK
––– input –––
rm /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait; stdbuf -oL searchd | head -n 15; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
export new_version_searchd=$(searchd --version | head -n 1 | cut -d" " -f2); echo $new_version_searchd
––– output –––
OK
––– input –––
export new_version_columnar=$(searchd --version | sed -n 's/.*columnar \([^ )]*\).*/\1/p'); echo $new_version_columnar
––– output –––
OK
––– input –––
export new_version_secondary=$(searchd --version | sed -n 's/.*secondary \([^ )]*\).*/\1/p'); echo $new_version_secondary
––– output –––
OK
––– input –––
export new_version_knn=$(searchd --version | sed -n 's/.*knn \([^ )]*\).*/\1/p'); echo $new_version_knn
––– output –––
OK
––– input –––
export new_version_galera=$(strings /usr/share/manticore/modules/libgalera_manticore.so | grep -oE '[0-9]+\.[0-9]+' | head -n1); echo $new_version_galera
––– output –––
OK
––– input –––
export new_version_buddy=$(mysql -h0 -P9306 -e "SHOW STATUS LIKE 'version'\G" | grep -oP 'buddy v\K[^ )]+'); echo $new_version_buddy
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_searchd\n$new_version_searchd" | sort -V | tail -1) == "$new_version_searchd" ]]; then echo "Upgrade successful. New version searchd: $new_version_searchd"; else echo "Upgrade failed. Current version searchd: $current_version_searchd, new version: $new_version_searchd"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_columnar\n$new_version_columnar" | sort -V | tail -1) == "$new_version_columnar" ]]; then echo "Upgrade successful. New version columnar: $new_version_columnar"; else echo "Upgrade failed. Current version columnar: $current_version_columnar, new version: $new_version_columnar"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_secondary\n$new_version_secondary" | sort -V | tail -1) == "$new_version_secondary" ]]; then echo "Upgrade successful. New version secondary: $new_version_secondary"; else echo "Upgrade failed. Current version secondary: $current_version_secondary, new version: $new_version_secondary"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_knn\n$new_version_knn" | sort -V | tail -1) == "$new_version_knn" ]]; then echo "Upgrade successful. New version knn: $new_version_knn"; else echo "Upgrade failed. Current version knn: $current_version_knn, new version: $new_version_knn"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_galera\n$new_version_galera" | sort -V | tail -1) == "$new_version_galera" ]]; then echo "Upgrade successful. New version galera: $new_version_galera"; else echo "Upgrade failed. Current version galera: $current_version_galera, new version: $new_version_galera"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_buddy\n$new_version_buddy" | sort -V | tail -1) == "$new_version_buddy" ]]; then echo "Upgrade successful. New version buddy: $new_version_buddy"; else echo "Upgrade failed. Current version buddy: $current_version_buddy, new version: $new_version_buddy"; fi
––– output –––
OK
––– input –––
manticore-backup --version
––– output –––
OK
––– input –––
apt-get remove -y 'manticore*' > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
dpkg -l | grep ^rc | awk '/^rc/ && /manticore/ { print $2 }'
––– output –––
OK

Copy link

clt-arm64

❌ CLT tests in test/clt-tests/installation/deb-dev-u
✅ OK: 0
❌ Failed: 1
⏳ Duration: 73s
👉 Check Action Results for commit 57e17f1
Failed tests:

test/clt-tests/installation/deb-dev-update.rec
––– input –––
export PATH=/usr/bin:/usr/local/bin:/usr/sbin:/sbin:/bin
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get install -y gnupg2 wget mariadb-client procps binutils > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
wget -q https://repo.manticoresearch.com/manticore-repo.noarch.deb
––– output –––
OK
––– input –––
dpkg -i manticore-repo.noarch.deb > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get install -y manticore manticore-extra > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
stdbuf -oL searchd --version
––– output –––
OK
––– input –––
manticore-executor -v
––– output –––
OK
––– input –––
mkdir -p /var/run/manticore
––– output –––
OK
––– input –––
stdbuf -oL searchd
––– output –––
OK
––– input –––
rm /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
ps aux | grep -q '[s]earchd'; echo $?
––– output –––
OK
––– input –––
manticore-backup --version
––– output –––
OK
––– input –––
export current_version_searchd=$(searchd --version | head -n 1 | cut -d" " -f2); echo $current_version_searchd
––– output –––
OK
––– input –––
export current_version_columnar=$(searchd --version | sed -n 's/.*columnar \([^ )]*\).*/\1/p'); echo $current_version_columnar
––– output –––
OK
––– input –––
export current_version_secondary=$(searchd --version | sed -n 's/.*secondary \([^ )]*\).*/\1/p'); echo $current_version_secondary
––– output –––
OK
––– input –––
export current_version_knn=$(searchd --version | sed -n 's/.*knn \([^ )]*\).*/\1/p'); echo $current_version_knn
––– output –––
OK
––– input –––
export current_version_galera=$(strings /usr/share/manticore/modules/libgalera_manticore.so | grep -oE '[0-9]+\.[0-9]+' | head -n1); echo $current_version_galera
––– output –––
OK
––– input –––
export current_version_buddy=$(mysql -h0 -P9306 -e "SHOW STATUS LIKE 'version'\G" | awk -F'[ v()]+' '/buddy v/{print $(NF-1)}'); echo $current_version_buddy
––– output –––
OK
––– input –––
wget -q https://repo.manticoresearch.com/manticore-dev-repo.noarch.deb; echo $?
––– output –––
OK
––– input –––
dpkg -i manticore-dev-repo.noarch.deb > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
- 0
+ E: Failed to fetch http://repo.manticoresearch.com/repository/manticoresearch_buster_dev/dists/buster/main/binary-arm64/Packages  File has unexpected size (3720998 != 3713429). Mirror sync in progress? [IP: 49.12.119.254 80]
+    Hashes of expected file:
+     - Filesize:3713429 [weak]
+     - SHA256:b7b11beacea592549a345d4254b324b7827db463b9a3b37074e962a731763c27
+     - SHA1:ddd48e07aff5a158f219f09bab396a5d88c641c0 [weak]
+     - MD5Sum:f276b01e53a5901985b7c1004dd2241b [weak]
+    Release file created at: Thu, 22 May 2025 08:29:02 +0000
+ E: Some index files failed to download. They have been ignored, or old ones used instead.
+ 100
––– input –––
apt -y install manticore manticore-extra manticore-common manticore-server manticore-server-core manticore-tools manticore-executor manticore-buddy manticore-backup manticore-columnar-lib manticore-server-core-dbgsym manticore-tools-dbgsym manticore-columnar-lib-dbgsym manticore-icudata-65l manticore-galera > /dev/null
––– output –––
- perl: warning: Setting locale failed.
+ E: Unable to locate package manticore-server-core-dbgsym
- perl: warning: Please check that your locale settings:
+ E: Unable to locate package manticore-tools-dbgsym
- 	LANGUAGE = (unset),
+ E: Unable to locate package manticore-columnar-lib-dbgsym
- 	LC_ALL = (unset),
- 	LANG = "en_US.UTF-8"
-     are supported and installed on your system.
- perl: warning: Falling back to the standard locale ("C").
- debconf: delaying package configuration, since apt-utils is not installed
––– input –––
stdbuf -oL searchd --stop
––– output –––
OK
––– input –––
mkdir -p /var/run/manticore
––– output –––
OK
––– input –––
sleep 5; stdbuf -oL searchd | head -n 9
––– output –––
OK
––– input –––
rm /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait; stdbuf -oL searchd | head -n 15; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
export new_version_searchd=$(searchd --version | head -n 1 | cut -d" " -f2); echo $new_version_searchd
––– output –––
OK
––– input –––
export new_version_columnar=$(searchd --version | sed -n 's/.*columnar \([^ )]*\).*/\1/p'); echo $new_version_columnar
––– output –––
OK
––– input –––
export new_version_secondary=$(searchd --version | sed -n 's/.*secondary \([^ )]*\).*/\1/p'); echo $new_version_secondary
––– output –––
OK
––– input –––
export new_version_knn=$(searchd --version | sed -n 's/.*knn \([^ )]*\).*/\1/p'); echo $new_version_knn
––– output –––
OK
––– input –––
export new_version_galera=$(strings /usr/share/manticore/modules/libgalera_manticore.so | grep -oE '[0-9]+\.[0-9]+' | head -n1); echo $new_version_galera
––– output –––
OK
––– input –––
export new_version_buddy=$(mysql -h0 -P9306 -e "SHOW STATUS LIKE 'version'\G" | grep -oP 'buddy v\K[^ )]+'); echo $new_version_buddy
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_searchd\n$new_version_searchd" | sort -V | tail -1) == "$new_version_searchd" ]]; then echo "Upgrade successful. New version searchd: $new_version_searchd"; else echo "Upgrade failed. Current version searchd: $current_version_searchd, new version: $new_version_searchd"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_columnar\n$new_version_columnar" | sort -V | tail -1) == "$new_version_columnar" ]]; then echo "Upgrade successful. New version columnar: $new_version_columnar"; else echo "Upgrade failed. Current version columnar: $current_version_columnar, new version: $new_version_columnar"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_secondary\n$new_version_secondary" | sort -V | tail -1) == "$new_version_secondary" ]]; then echo "Upgrade successful. New version secondary: $new_version_secondary"; else echo "Upgrade failed. Current version secondary: $current_version_secondary, new version: $new_version_secondary"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_knn\n$new_version_knn" | sort -V | tail -1) == "$new_version_knn" ]]; then echo "Upgrade successful. New version knn: $new_version_knn"; else echo "Upgrade failed. Current version knn: $current_version_knn, new version: $new_version_knn"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_galera\n$new_version_galera" | sort -V | tail -1) == "$new_version_galera" ]]; then echo "Upgrade successful. New version galera: $new_version_galera"; else echo "Upgrade failed. Current version galera: $current_version_galera, new version: $new_version_galera"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_buddy\n$new_version_buddy" | sort -V | tail -1) == "$new_version_buddy" ]]; then echo "Upgrade successful. New version buddy: $new_version_buddy"; else echo "Upgrade failed. Current version buddy: $current_version_buddy, new version: $new_version_buddy"; fi
––– output –––
OK
––– input –––
manticore-backup --version
––– output –––
OK
––– input –––
apt-get remove -y 'manticore*' > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
dpkg -l | grep ^rc | awk '/^rc/ && /manticore/ { print $2 }'
––– output –––
OK

Copy link

clt-arm64

❌ CLT tests in test/clt-tests/installation/deb-dev-u
✅ OK: 0
❌ Failed: 1
⏳ Duration: 58s
👉 Check Action Results for commit 57e17f1
Failed tests:

test/clt-tests/installation/deb-dev-update.rec
––– input –––
export PATH=/usr/bin:/usr/local/bin:/usr/sbin:/sbin:/bin
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get install -y gnupg2 wget mariadb-client procps binutils > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
wget -q https://repo.manticoresearch.com/manticore-repo.noarch.deb
––– output –––
OK
––– input –––
dpkg -i manticore-repo.noarch.deb > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get install -y manticore manticore-extra > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
stdbuf -oL searchd --version
––– output –––
OK
––– input –––
manticore-executor -v
––– output –––
OK
––– input –––
mkdir -p /var/run/manticore
––– output –––
OK
––– input –––
stdbuf -oL searchd
––– output –––
OK
––– input –––
rm /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
ps aux | grep -q '[s]earchd'; echo $?
––– output –––
OK
––– input –––
manticore-backup --version
––– output –––
OK
––– input –––
export current_version_searchd=$(searchd --version | head -n 1 | cut -d" " -f2); echo $current_version_searchd
––– output –––
OK
––– input –––
export current_version_columnar=$(searchd --version | sed -n 's/.*columnar \([^ )]*\).*/\1/p'); echo $current_version_columnar
––– output –––
OK
––– input –––
export current_version_secondary=$(searchd --version | sed -n 's/.*secondary \([^ )]*\).*/\1/p'); echo $current_version_secondary
––– output –––
OK
––– input –––
export current_version_knn=$(searchd --version | sed -n 's/.*knn \([^ )]*\).*/\1/p'); echo $current_version_knn
––– output –––
OK
––– input –––
export current_version_galera=$(strings /usr/share/manticore/modules/libgalera_manticore.so | grep -oE '[0-9]+\.[0-9]+' | head -n1); echo $current_version_galera
––– output –––
OK
––– input –––
export current_version_buddy=$(mysql -h0 -P9306 -e "SHOW STATUS LIKE 'version'\G" | awk -F'[ v()]+' '/buddy v/{print $(NF-1)}'); echo $current_version_buddy
––– output –––
OK
––– input –––
wget -q https://repo.manticoresearch.com/manticore-dev-repo.noarch.deb; echo $?
––– output –––
OK
––– input –––
dpkg -i manticore-dev-repo.noarch.deb > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt -y install manticore manticore-extra manticore-common manticore-server manticore-server-core manticore-tools manticore-executor manticore-buddy manticore-backup manticore-columnar-lib manticore-server-core-dbgsym manticore-tools-dbgsym manticore-columnar-lib-dbgsym manticore-icudata-65l manticore-galera > /dev/null
––– output –––
- perl: warning: Setting locale failed.
+ E: Unable to correct problems, you have held broken packages.
- perl: warning: Please check that your locale settings:
- 	LANGUAGE = (unset),
- 	LC_ALL = (unset),
- 	LANG = "en_US.UTF-8"
-     are supported and installed on your system.
- perl: warning: Falling back to the standard locale ("C").
- debconf: delaying package configuration, since apt-utils is not installed
––– input –––
stdbuf -oL searchd --stop
––– output –––
OK
––– input –––
mkdir -p /var/run/manticore
––– output –––
OK
––– input –––
sleep 5; stdbuf -oL searchd | head -n 9
––– output –––
OK
––– input –––
rm /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait; stdbuf -oL searchd | head -n 15; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
export new_version_searchd=$(searchd --version | head -n 1 | cut -d" " -f2); echo $new_version_searchd
––– output –––
OK
––– input –––
export new_version_columnar=$(searchd --version | sed -n 's/.*columnar \([^ )]*\).*/\1/p'); echo $new_version_columnar
––– output –––
OK
––– input –––
export new_version_secondary=$(searchd --version | sed -n 's/.*secondary \([^ )]*\).*/\1/p'); echo $new_version_secondary
––– output –––
OK
––– input –––
export new_version_knn=$(searchd --version | sed -n 's/.*knn \([^ )]*\).*/\1/p'); echo $new_version_knn
––– output –––
OK
––– input –––
export new_version_galera=$(strings /usr/share/manticore/modules/libgalera_manticore.so | grep -oE '[0-9]+\.[0-9]+' | head -n1); echo $new_version_galera
––– output –––
OK
––– input –––
export new_version_buddy=$(mysql -h0 -P9306 -e "SHOW STATUS LIKE 'version'\G" | grep -oP 'buddy v\K[^ )]+'); echo $new_version_buddy
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_searchd\n$new_version_searchd" | sort -V | tail -1) == "$new_version_searchd" ]]; then echo "Upgrade successful. New version searchd: $new_version_searchd"; else echo "Upgrade failed. Current version searchd: $current_version_searchd, new version: $new_version_searchd"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_columnar\n$new_version_columnar" | sort -V | tail -1) == "$new_version_columnar" ]]; then echo "Upgrade successful. New version columnar: $new_version_columnar"; else echo "Upgrade failed. Current version columnar: $current_version_columnar, new version: $new_version_columnar"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_secondary\n$new_version_secondary" | sort -V | tail -1) == "$new_version_secondary" ]]; then echo "Upgrade successful. New version secondary: $new_version_secondary"; else echo "Upgrade failed. Current version secondary: $current_version_secondary, new version: $new_version_secondary"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_knn\n$new_version_knn" | sort -V | tail -1) == "$new_version_knn" ]]; then echo "Upgrade successful. New version knn: $new_version_knn"; else echo "Upgrade failed. Current version knn: $current_version_knn, new version: $new_version_knn"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_galera\n$new_version_galera" | sort -V | tail -1) == "$new_version_galera" ]]; then echo "Upgrade successful. New version galera: $new_version_galera"; else echo "Upgrade failed. Current version galera: $current_version_galera, new version: $new_version_galera"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_buddy\n$new_version_buddy" | sort -V | tail -1) == "$new_version_buddy" ]]; then echo "Upgrade successful. New version buddy: $new_version_buddy"; else echo "Upgrade failed. Current version buddy: $current_version_buddy, new version: $new_version_buddy"; fi
––– output –––
OK
––– input –––
manticore-backup --version
––– output –––
OK
––– input –––
apt-get remove -y 'manticore*' > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
dpkg -l | grep ^rc | awk '/^rc/ && /manticore/ { print $2 }'
––– output –––
OK

Copy link

clt-arm64

❌ CLT tests in test/clt-tests/installation/deb-dev-u
✅ OK: 0
❌ Failed: 1
⏳ Duration: 64s
👉 Check Action Results for commit 57e17f1
Failed tests:

test/clt-tests/installation/deb-dev-update.rec
––– input –––
export PATH=/usr/bin:/usr/local/bin:/usr/sbin:/sbin:/bin
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get install -y gnupg2 wget mariadb-client procps binutils > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
wget -q https://repo.manticoresearch.com/manticore-repo.noarch.deb
––– output –––
OK
––– input –––
dpkg -i manticore-repo.noarch.deb > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get install -y manticore manticore-extra > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
stdbuf -oL searchd --version
––– output –––
OK
––– input –––
manticore-executor -v
––– output –––
OK
––– input –––
mkdir -p /var/run/manticore
––– output –––
OK
––– input –––
stdbuf -oL searchd
––– output –––
OK
––– input –––
rm /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
ps aux | grep -q '[s]earchd'; echo $?
––– output –––
OK
––– input –––
manticore-backup --version
––– output –––
OK
––– input –––
export current_version_searchd=$(searchd --version | head -n 1 | cut -d" " -f2); echo $current_version_searchd
––– output –––
OK
––– input –––
export current_version_columnar=$(searchd --version | sed -n 's/.*columnar \([^ )]*\).*/\1/p'); echo $current_version_columnar
––– output –––
OK
––– input –––
export current_version_secondary=$(searchd --version | sed -n 's/.*secondary \([^ )]*\).*/\1/p'); echo $current_version_secondary
––– output –––
OK
––– input –––
export current_version_knn=$(searchd --version | sed -n 's/.*knn \([^ )]*\).*/\1/p'); echo $current_version_knn
––– output –––
OK
––– input –––
export current_version_galera=$(strings /usr/share/manticore/modules/libgalera_manticore.so | grep -oE '[0-9]+\.[0-9]+' | head -n1); echo $current_version_galera
––– output –––
OK
––– input –––
export current_version_buddy=$(mysql -h0 -P9306 -e "SHOW STATUS LIKE 'version'\G" | awk -F'[ v()]+' '/buddy v/{print $(NF-1)}'); echo $current_version_buddy
––– output –––
OK
––– input –––
wget -q https://repo.manticoresearch.com/manticore-dev-repo.noarch.deb; echo $?
––– output –––
OK
––– input –––
dpkg -i manticore-dev-repo.noarch.deb > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
- 0
+ E: Failed to fetch http://repo.manticoresearch.com/repository/manticoresearch_focal_dev/dists/focal/main/binary-arm64/Packages  File has unexpected size (3717043 != 3709479). Mirror sync in progress? [IP: 49.12.119.254 80]
+    Hashes of expected file:
+     - Filesize:3709479 [weak]
+     - SHA256:e1db5c847fa969367f42421069fab1b215ca2a966fde04b80581d6763d6ceb30
+     - SHA1:e1b9480d497204f87060237cc27a297dd71b5c3f [weak]
+     - MD5Sum:e326297cd5e74cf606239b61739e6ed0 [weak]
+    Release file created at: Thu, 22 May 2025 08:30:44 +0000
+ E: Some index files failed to download. They have been ignored, or old ones used instead.
+ 100
––– input –––
apt -y install manticore manticore-extra manticore-common manticore-server manticore-server-core manticore-tools manticore-executor manticore-buddy manticore-backup manticore-columnar-lib manticore-server-core-dbgsym manticore-tools-dbgsym manticore-columnar-lib-dbgsym manticore-icudata-65l manticore-galera > /dev/null
––– output –––
- perl: warning: Setting locale failed.
+ E: Unable to locate package manticore-server-core-dbgsym
- perl: warning: Please check that your locale settings:
+ E: Unable to locate package manticore-tools-dbgsym
- 	LANGUAGE = (unset),
+ E: Unable to locate package manticore-columnar-lib-dbgsym
- 	LC_ALL = (unset),
- 	LANG = "en_US.UTF-8"
-     are supported and installed on your system.
- perl: warning: Falling back to the standard locale ("C").
- debconf: delaying package configuration, since apt-utils is not installed
––– input –––
stdbuf -oL searchd --stop
––– output –––
OK
––– input –––
mkdir -p /var/run/manticore
––– output –––
OK
––– input –––
sleep 5; stdbuf -oL searchd | head -n 9
––– output –––
OK
––– input –––
rm /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait; stdbuf -oL searchd | head -n 15; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
export new_version_searchd=$(searchd --version | head -n 1 | cut -d" " -f2); echo $new_version_searchd
––– output –––
OK
––– input –––
export new_version_columnar=$(searchd --version | sed -n 's/.*columnar \([^ )]*\).*/\1/p'); echo $new_version_columnar
––– output –––
OK
––– input –––
export new_version_secondary=$(searchd --version | sed -n 's/.*secondary \([^ )]*\).*/\1/p'); echo $new_version_secondary
––– output –––
OK
––– input –––
export new_version_knn=$(searchd --version | sed -n 's/.*knn \([^ )]*\).*/\1/p'); echo $new_version_knn
––– output –––
OK
––– input –––
export new_version_galera=$(strings /usr/share/manticore/modules/libgalera_manticore.so | grep -oE '[0-9]+\.[0-9]+' | head -n1); echo $new_version_galera
––– output –––
OK
––– input –––
export new_version_buddy=$(mysql -h0 -P9306 -e "SHOW STATUS LIKE 'version'\G" | grep -oP 'buddy v\K[^ )]+'); echo $new_version_buddy
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_searchd\n$new_version_searchd" | sort -V | tail -1) == "$new_version_searchd" ]]; then echo "Upgrade successful. New version searchd: $new_version_searchd"; else echo "Upgrade failed. Current version searchd: $current_version_searchd, new version: $new_version_searchd"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_columnar\n$new_version_columnar" | sort -V | tail -1) == "$new_version_columnar" ]]; then echo "Upgrade successful. New version columnar: $new_version_columnar"; else echo "Upgrade failed. Current version columnar: $current_version_columnar, new version: $new_version_columnar"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_secondary\n$new_version_secondary" | sort -V | tail -1) == "$new_version_secondary" ]]; then echo "Upgrade successful. New version secondary: $new_version_secondary"; else echo "Upgrade failed. Current version secondary: $current_version_secondary, new version: $new_version_secondary"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_knn\n$new_version_knn" | sort -V | tail -1) == "$new_version_knn" ]]; then echo "Upgrade successful. New version knn: $new_version_knn"; else echo "Upgrade failed. Current version knn: $current_version_knn, new version: $new_version_knn"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_galera\n$new_version_galera" | sort -V | tail -1) == "$new_version_galera" ]]; then echo "Upgrade successful. New version galera: $new_version_galera"; else echo "Upgrade failed. Current version galera: $current_version_galera, new version: $new_version_galera"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_buddy\n$new_version_buddy" | sort -V | tail -1) == "$new_version_buddy" ]]; then echo "Upgrade successful. New version buddy: $new_version_buddy"; else echo "Upgrade failed. Current version buddy: $current_version_buddy, new version: $new_version_buddy"; fi
––– output –––
OK
––– input –––
manticore-backup --version
––– output –––
OK
––– input –––
apt-get remove -y 'manticore*' > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
dpkg -l | grep ^rc | awk '/^rc/ && /manticore/ { print $2 }'
––– output –––
OK

Copy link

clt-amd64

❌ CLT tests in test/clt-tests/installation/deb-dev-update
✅ OK: 0
❌ Failed: 1
⏳ Duration: 55s
👉 Check Action Results for commit 57e17f1
Failed tests:

test/clt-tests/installation/deb-dev-update.rec
––– input –––
export PATH=/usr/bin:/usr/local/bin:/usr/sbin:/sbin:/bin
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get install -y gnupg2 wget mariadb-client procps binutils > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
wget -q https://repo.manticoresearch.com/manticore-repo.noarch.deb
––– output –––
OK
––– input –––
dpkg -i manticore-repo.noarch.deb > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get install -y manticore manticore-extra > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
stdbuf -oL searchd --version
––– output –––
OK
––– input –––
manticore-executor -v
––– output –––
OK
––– input –––
mkdir -p /var/run/manticore
––– output –––
OK
––– input –––
stdbuf -oL searchd
––– output –––
OK
––– input –––
rm /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
ps aux | grep -q '[s]earchd'; echo $?
––– output –––
OK
––– input –––
manticore-backup --version
––– output –––
OK
––– input –––
export current_version_searchd=$(searchd --version | head -n 1 | cut -d" " -f2); echo $current_version_searchd
––– output –––
OK
––– input –––
export current_version_columnar=$(searchd --version | sed -n 's/.*columnar \([^ )]*\).*/\1/p'); echo $current_version_columnar
––– output –––
OK
––– input –––
export current_version_secondary=$(searchd --version | sed -n 's/.*secondary \([^ )]*\).*/\1/p'); echo $current_version_secondary
––– output –––
OK
––– input –––
export current_version_knn=$(searchd --version | sed -n 's/.*knn \([^ )]*\).*/\1/p'); echo $current_version_knn
––– output –––
OK
––– input –––
export current_version_galera=$(strings /usr/share/manticore/modules/libgalera_manticore.so | grep -oE '[0-9]+\.[0-9]+' | head -n1); echo $current_version_galera
––– output –––
OK
––– input –––
export current_version_buddy=$(mysql -h0 -P9306 -e "SHOW STATUS LIKE 'version'\G" | awk -F'[ v()]+' '/buddy v/{print $(NF-1)}'); echo $current_version_buddy
––– output –––
OK
––– input –––
wget -q https://repo.manticoresearch.com/manticore-dev-repo.noarch.deb; echo $?
––– output –––
OK
––– input –––
dpkg -i manticore-dev-repo.noarch.deb > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt -y install manticore manticore-extra manticore-common manticore-server manticore-server-core manticore-tools manticore-executor manticore-buddy manticore-backup manticore-columnar-lib manticore-server-core-dbgsym manticore-tools-dbgsym manticore-columnar-lib-dbgsym manticore-icudata-65l manticore-galera > /dev/null
––– output –––
- perl: warning: Setting locale failed.
+ E: Failed to fetch http://repo.manticoresearch.com/repository/manticoresearch_jammy_dev/dists/jammy/main/binary-amd64/./manticore-common_9.5.13-25052207-89bb8763f_all.deb  File has unexpected size (48420 != 48414). Mirror sync in progress? [IP: 49.12.119.254 80]
- perl: warning: Please check that your locale settings:
+    Hashes of expected file:
- 	LANGUAGE = (unset),
+     - SHA256:f784893b16711d67bde08a642daa2755b76836b739f016f05a6092e30fb85da9
- 	LC_ALL = (unset),
+     - SHA1:c0224e2ac13a2fea5aa492d123565a6be3bf1a79 [weak]
- 	LANG = "en_US.UTF-8"
+     - MD5Sum:7fca46741e2562bce574f8bf10ebc2f6 [weak]
-     are supported and installed on your system.
+     - Filesize:48414 [weak]
- perl: warning: Falling back to the standard locale ("C").
+ E: Failed to fetch http://repo.manticoresearch.com/repository/manticoresearch_jammy_dev/dists/jammy/main/binary-amd64/./manticore-dev_9.5.13-25052207-89bb8763f_all.deb  Hash Sum mismatch
- debconf: delaying package configuration, since apt-utils is not installed
+    Hashes of expected file:
+     - SHA256:b39e5df731bcfc1e732fb5d637f291821a23f6035e7505747d51aa944ee5446a
+     - SHA1:61ed915408efbb0c42c1bd706233f65ac91c9d9b [weak]
+     - MD5Sum:2af64b224cf5fe09b6c1edb40d9974e3 [weak]
+     - Filesize:4466 [weak]
+    Hashes of received file:
+     - SHA256:ff5812f1449f678447d21180bb0987dfbaebe0d2ee03116253a71b559e6c11b4
+     - SHA1:c0d247f7238466d309d774cdeea5cf4c305aefae [weak]
+     - MD5Sum:ddcbc8ffac4493724aae6500dae77b46 [weak]
+     - Filesize:4466 [weak]
+    Last modification reported: Thu, 22 May 2025 08:31:26 +0000
+ E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
––– input –––
stdbuf -oL searchd --stop
––– output –––
OK
––– input –––
mkdir -p /var/run/manticore
––– output –––
OK
––– input –––
sleep 5; stdbuf -oL searchd | head -n 9
––– output –––
OK
––– input –––
rm /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait; stdbuf -oL searchd | head -n 15; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
export new_version_searchd=$(searchd --version | head -n 1 | cut -d" " -f2); echo $new_version_searchd
––– output –––
OK
––– input –––
export new_version_columnar=$(searchd --version | sed -n 's/.*columnar \([^ )]*\).*/\1/p'); echo $new_version_columnar
––– output –––
OK
––– input –––
export new_version_secondary=$(searchd --version | sed -n 's/.*secondary \([^ )]*\).*/\1/p'); echo $new_version_secondary
––– output –––
OK
––– input –––
export new_version_knn=$(searchd --version | sed -n 's/.*knn \([^ )]*\).*/\1/p'); echo $new_version_knn
––– output –––
OK
––– input –––
export new_version_galera=$(strings /usr/share/manticore/modules/libgalera_manticore.so | grep -oE '[0-9]+\.[0-9]+' | head -n1); echo $new_version_galera
––– output –––
OK
––– input –––
export new_version_buddy=$(mysql -h0 -P9306 -e "SHOW STATUS LIKE 'version'\G" | grep -oP 'buddy v\K[^ )]+'); echo $new_version_buddy
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_searchd\n$new_version_searchd" | sort -V | tail -1) == "$new_version_searchd" ]]; then echo "Upgrade successful. New version searchd: $new_version_searchd"; else echo "Upgrade failed. Current version searchd: $current_version_searchd, new version: $new_version_searchd"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_columnar\n$new_version_columnar" | sort -V | tail -1) == "$new_version_columnar" ]]; then echo "Upgrade successful. New version columnar: $new_version_columnar"; else echo "Upgrade failed. Current version columnar: $current_version_columnar, new version: $new_version_columnar"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_secondary\n$new_version_secondary" | sort -V | tail -1) == "$new_version_secondary" ]]; then echo "Upgrade successful. New version secondary: $new_version_secondary"; else echo "Upgrade failed. Current version secondary: $current_version_secondary, new version: $new_version_secondary"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_knn\n$new_version_knn" | sort -V | tail -1) == "$new_version_knn" ]]; then echo "Upgrade successful. New version knn: $new_version_knn"; else echo "Upgrade failed. Current version knn: $current_version_knn, new version: $new_version_knn"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_galera\n$new_version_galera" | sort -V | tail -1) == "$new_version_galera" ]]; then echo "Upgrade successful. New version galera: $new_version_galera"; else echo "Upgrade failed. Current version galera: $current_version_galera, new version: $new_version_galera"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_buddy\n$new_version_buddy" | sort -V | tail -1) == "$new_version_buddy" ]]; then echo "Upgrade successful. New version buddy: $new_version_buddy"; else echo "Upgrade failed. Current version buddy: $current_version_buddy, new version: $new_version_buddy"; fi
––– output –––
OK
––– input –––
manticore-backup --version
––– output –––
OK
––– input –––
apt-get remove -y 'manticore*' > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
dpkg -l | grep ^rc | awk '/^rc/ && /manticore/ { print $2 }'
––– output –––
OK

Copy link

clt-amd64

❌ CLT tests in test/clt-tests/installation/deb-dev-u
✅ OK: 0
❌ Failed: 1
⏳ Duration: 59s
👉 Check Action Results for commit 57e17f1
Failed tests:

test/clt-tests/installation/deb-dev-update.rec
––– input –––
export PATH=/usr/bin:/usr/local/bin:/usr/sbin:/sbin:/bin
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get install -y gnupg2 wget mariadb-client procps binutils > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
wget -q https://repo.manticoresearch.com/manticore-repo.noarch.deb
––– output –––
OK
––– input –––
dpkg -i manticore-repo.noarch.deb > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get install -y manticore manticore-extra > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
stdbuf -oL searchd --version
––– output –––
OK
––– input –––
manticore-executor -v
––– output –––
OK
––– input –––
mkdir -p /var/run/manticore
––– output –––
OK
––– input –––
stdbuf -oL searchd
––– output –––
OK
––– input –––
rm /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait; stdbuf -oL searchd; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
ps aux | grep -q '[s]earchd'; echo $?
––– output –––
OK
––– input –––
manticore-backup --version
––– output –––
OK
––– input –––
export current_version_searchd=$(searchd --version | head -n 1 | cut -d" " -f2); echo $current_version_searchd
––– output –––
OK
––– input –––
export current_version_columnar=$(searchd --version | sed -n 's/.*columnar \([^ )]*\).*/\1/p'); echo $current_version_columnar
––– output –––
OK
––– input –––
export current_version_secondary=$(searchd --version | sed -n 's/.*secondary \([^ )]*\).*/\1/p'); echo $current_version_secondary
––– output –––
OK
––– input –––
export current_version_knn=$(searchd --version | sed -n 's/.*knn \([^ )]*\).*/\1/p'); echo $current_version_knn
––– output –––
OK
––– input –––
export current_version_galera=$(strings /usr/share/manticore/modules/libgalera_manticore.so | grep -oE '[0-9]+\.[0-9]+' | head -n1); echo $current_version_galera
––– output –––
OK
––– input –––
export current_version_buddy=$(mysql -h0 -P9306 -e "SHOW STATUS LIKE 'version'\G" | awk -F'[ v()]+' '/buddy v/{print $(NF-1)}'); echo $current_version_buddy
––– output –––
OK
––– input –––
wget -q https://repo.manticoresearch.com/manticore-dev-repo.noarch.deb; echo $?
––– output –––
OK
––– input –––
dpkg -i manticore-dev-repo.noarch.deb > /dev/null; echo $?
––– output –––
OK
––– input –––
apt-get update -y > /dev/null; echo $?
––– output –––
OK
––– input –––
apt -y install manticore manticore-extra manticore-common manticore-server manticore-server-core manticore-tools manticore-executor manticore-buddy manticore-backup manticore-columnar-lib manticore-server-core-dbgsym manticore-tools-dbgsym manticore-columnar-lib-dbgsym manticore-icudata-65l manticore-galera > /dev/null
––– output –––
- perl: warning: Setting locale failed.
+ E: Failed to fetch http://repo.manticoresearch.com/repository/manticoresearch_focal_dev/dists/focal/main/binary-amd64/./manticore-common_9.5.13-25052207-89bb8763f_all.deb  File has unexpected size (48416 != 48418). Mirror sync in progress? [IP: 49.12.119.254 80]
- perl: warning: Please check that your locale settings:
+    Hashes of expected file:
- 	LANGUAGE = (unset),
+     - SHA256:42dd436d2ca43b7b5748d45160c18236b86eb4287a8e307437061e4cade83414
- 	LC_ALL = (unset),
+     - SHA1:d8ab291a3a383de8571491e84d31ae4d77ec012a [weak]
- 	LANG = "en_US.UTF-8"
+     - MD5Sum:3a899285a06e406a1da82cd5268b5f97 [weak]
-     are supported and installed on your system.
+     - Filesize:48418 [weak]
- perl: warning: Falling back to the standard locale ("C").
+ E: Failed to fetch http://repo.manticoresearch.com/repository/manticoresearch_focal_dev/dists/focal/main/binary-amd64/./manticore-dev_9.5.13-25052207-89bb8763f_all.deb  Hash Sum mismatch
- debconf: delaying package configuration, since apt-utils is not installed
+    Hashes of expected file:
+     - SHA256:8df9c0319011790ebbf80a2fdda4402db78efc69080523dd0688c84ab79c71b2
+     - SHA1:07df2026a2177c934370c92410f22356855bc9a8 [weak]
+     - MD5Sum:db37fb7fd97eadb9e06717272d359bba [weak]
+     - Filesize:4468 [weak]
+    Hashes of received file:
+     - SHA256:b73997c44e6ed7176e16ffe5aa1125c41f650c3d61f97785c2c18043385e80a7
+     - SHA1:a1cc5128d0af9d8e2d027933e85e40bc584b98da [weak]
+     - MD5Sum:943d18d4591fd4443143b343a5bb7447 [weak]
+     - Filesize:4468 [weak]
+    Last modification reported: Thu, 22 May 2025 08:31:59 +0000
+ E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
––– input –––
stdbuf -oL searchd --stop
––– output –––
OK
––– input –––
mkdir -p /var/run/manticore
––– output –––
OK
––– input –––
sleep 5; stdbuf -oL searchd | head -n 9
––– output –––
OK
––– input –––
rm /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait; stdbuf -oL searchd | head -n 15; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
export new_version_searchd=$(searchd --version | head -n 1 | cut -d" " -f2); echo $new_version_searchd
––– output –––
OK
––– input –––
export new_version_columnar=$(searchd --version | sed -n 's/.*columnar \([^ )]*\).*/\1/p'); echo $new_version_columnar
––– output –––
OK
––– input –––
export new_version_secondary=$(searchd --version | sed -n 's/.*secondary \([^ )]*\).*/\1/p'); echo $new_version_secondary
––– output –––
OK
––– input –––
export new_version_knn=$(searchd --version | sed -n 's/.*knn \([^ )]*\).*/\1/p'); echo $new_version_knn
––– output –––
OK
––– input –––
export new_version_galera=$(strings /usr/share/manticore/modules/libgalera_manticore.so | grep -oE '[0-9]+\.[0-9]+' | head -n1); echo $new_version_galera
––– output –––
OK
––– input –––
export new_version_buddy=$(mysql -h0 -P9306 -e "SHOW STATUS LIKE 'version'\G" | grep -oP 'buddy v\K[^ )]+'); echo $new_version_buddy
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_searchd\n$new_version_searchd" | sort -V | tail -1) == "$new_version_searchd" ]]; then echo "Upgrade successful. New version searchd: $new_version_searchd"; else echo "Upgrade failed. Current version searchd: $current_version_searchd, new version: $new_version_searchd"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_columnar\n$new_version_columnar" | sort -V | tail -1) == "$new_version_columnar" ]]; then echo "Upgrade successful. New version columnar: $new_version_columnar"; else echo "Upgrade failed. Current version columnar: $current_version_columnar, new version: $new_version_columnar"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_secondary\n$new_version_secondary" | sort -V | tail -1) == "$new_version_secondary" ]]; then echo "Upgrade successful. New version secondary: $new_version_secondary"; else echo "Upgrade failed. Current version secondary: $current_version_secondary, new version: $new_version_secondary"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_knn\n$new_version_knn" | sort -V | tail -1) == "$new_version_knn" ]]; then echo "Upgrade successful. New version knn: $new_version_knn"; else echo "Upgrade failed. Current version knn: $current_version_knn, new version: $new_version_knn"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_galera\n$new_version_galera" | sort -V | tail -1) == "$new_version_galera" ]]; then echo "Upgrade successful. New version galera: $new_version_galera"; else echo "Upgrade failed. Current version galera: $current_version_galera, new version: $new_version_galera"; fi
––– output –––
OK
––– input –––
if [[ $(echo -e "$current_version_buddy\n$new_version_buddy" | sort -V | tail -1) == "$new_version_buddy" ]]; then echo "Upgrade successful. New version buddy: $new_version_buddy"; else echo "Upgrade failed. Current version buddy: $current_version_buddy, new version: $new_version_buddy"; fi
––– output –––
OK
––– input –––
manticore-backup --version
––– output –––
OK
––– input –––
apt-get remove -y 'manticore*' > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
dpkg -l | grep ^rc | awk '/^rc/ && /manticore/ { print $2 }'
––– output –––
OK

Copy link

clt-amd64

❌ CLT tests in test/clt-tests/integrations/test-integrations-
✅ OK: 4
❌ Failed: 1
⏳ Duration: 1782s
👉 Check Action Results for commit 57e17f1
Failed tests:

test/clt-tests/integrations/test-integrations-support-logstash-versions.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd > /dev/null; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
set -b
––– output –––
OK
––– input –––
export PATH=/usr/bin:/usr/local/bin:/usr/sbin:/sbin:/bin
––– output –––
OK
––– input –––
apt-get update > /dev/null 2>&1 && apt-get install -y gnupg openjdk-11-jre-headless curl jq mysql-client > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
curl -s "https://hub.docker.com/v2/repositories/library/logstash/tags/?page_size=100" \
| jq -r ".results[].name" \
| grep "^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$" \
| sed "s/\.[0-9]*$//" \
| awk '!/rc|beta|alpha/' \
| sort -V | uniq
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-7.17.0-linux-x86_64.tar.gz" -O logstash-7.17.0.tar.gz && gzip -t logstash-7.17.0.tar.gz 2>/dev/null && tar -tzf logstash-7.17.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 7.17.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 7.17.0 after 3 attempts" >&2 || rm -f logstash-7.17.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.0.0-linux-x86_64.tar.gz" -O logstash-8.0.0.tar.gz && gzip -t logstash-8.0.0.tar.gz 2>/dev/null && tar -tzf logstash-8.0.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.0.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.0.0 after 3 attempts" >&2 || rm -f logstash-8.0.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.1.0-linux-x86_64.tar.gz" -O logstash-8.1.0.tar.gz && gzip -t logstash-8.1.0.tar.gz 2>/dev/null && tar -tzf logstash-8.1.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.1.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.1.0 after 3 attempts" >&2 || rm -f logstash-8.1.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.2.0-linux-x86_64.tar.gz" -O logstash-8.2.0.tar.gz && gzip -t logstash-8.2.0.tar.gz 2>/dev/null && tar -tzf logstash-8.2.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.2.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.2.0 after 3 attempts" >&2 || rm -f logstash-8.2.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.3.0-linux-x86_64.tar.gz" -O logstash-8.3.0.tar.gz && gzip -t logstash-8.3.0.tar.gz 2>/dev/null && tar -tzf logstash-8.3.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.3.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.3.0 after 3 attempts" >&2 || rm -f logstash-8.3.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.4.0-linux-x86_64.tar.gz" -O logstash-8.4.0.tar.gz && gzip -t logstash-8.4.0.tar.gz 2>/dev/null && tar -tzf logstash-8.4.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.4.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.4.0 after 3 attempts" >&2 || rm -f logstash-8.4.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.5.0-linux-x86_64.tar.gz" -O logstash-8.5.0.tar.gz && gzip -t logstash-8.5.0.tar.gz 2>/dev/null && tar -tzf logstash-8.5.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.5.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.5.0 after 3 attempts" >&2 || rm -f logstash-8.5.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.6.0-linux-x86_64.tar.gz" -O logstash-8.6.0.tar.gz && gzip -t logstash-8.6.0.tar.gz 2>/dev/null && tar -tzf logstash-8.6.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.6.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.6.0 after 3 attempts" >&2 || rm -f logstash-8.6.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.7.0-linux-x86_64.tar.gz" -O logstash-8.7.0.tar.gz && gzip -t logstash-8.7.0.tar.gz 2>/dev/null && tar -tzf logstash-8.7.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.7.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.7.0 after 3 attempts" >&2 || rm -f logstash-8.7.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.8.0-linux-x86_64.tar.gz" -O logstash-8.8.0.tar.gz && gzip -t logstash-8.8.0.tar.gz 2>/dev/null && tar -tzf logstash-8.8.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.8.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.8.0 after 3 attempts" >&2 || rm -f logstash-8.8.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.9.0-linux-x86_64.tar.gz" -O logstash-8.9.0.tar.gz && gzip -t logstash-8.9.0.tar.gz 2>/dev/null && tar -tzf logstash-8.9.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.9.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.9.0 after 3 attempts" >&2 || rm -f logstash-8.9.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.10.0-linux-x86_64.tar.gz" -O logstash-8.10.0.tar.gz && gzip -t logstash-8.10.0.tar.gz 2>/dev/null && tar -tzf logstash-8.10.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.10.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.10.0 after 3 attempts" >&2 || rm -f logstash-8.10.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.11.0-linux-x86_64.tar.gz" -O logstash-8.11.0.tar.gz && gzip -t logstash-8.11.0.tar.gz 2>/dev/null && tar -tzf logstash-8.11.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.11.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.11.0 after 3 attempts" >&2 || rm -f logstash-8.11.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.12.0-linux-x86_64.tar.gz" -O logstash-8.12.0.tar.gz && gzip -t logstash-8.12.0.tar.gz 2>/dev/null && tar -tzf logstash-8.12.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.12.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.12.0 after 3 attempts" >&2 || rm -f logstash-8.12.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.13.0-linux-x86_64.tar.gz" -O logstash-8.13.0.tar.gz && gzip -t logstash-8.13.0.tar.gz 2>/dev/null && tar -tzf logstash-8.13.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.13.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.13.0 after 3 attempts" >&2 || rm -f logstash-8.13.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.14.0-linux-x86_64.tar.gz" -O logstash-8.14.0.tar.gz && gzip -t logstash-8.14.0.tar.gz 2>/dev/null && tar -tzf logstash-8.14.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.14.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.14.0 after 3 attempts" >&2 || rm -f logstash-8.14.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.15.0-linux-x86_64.tar.gz" -O logstash-8.15.0.tar.gz && gzip -t logstash-8.15.0.tar.gz 2>/dev/null && tar -tzf logstash-8.15.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.15.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.15.0 after 3 attempts" >&2 || rm -f logstash-8.15.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.16.0-linux-x86_64.tar.gz" -O logstash-8.16.0.tar.gz && gzip -t logstash-8.16.0.tar.gz 2>/dev/null && tar -tzf logstash-8.16.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.16.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.16.0 after 3 attempts" >&2 || rm -f logstash-8.16.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.17.0-linux-x86_64.tar.gz" -O logstash-8.17.0.tar.gz && gzip -t logstash-8.17.0.tar.gz 2>/dev/null && tar -tzf logstash-8.17.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.17.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.17.0 after 3 attempts" >&2 || rm -f logstash-8.17.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.18.0-linux-x86_64.tar.gz" -O logstash-8.18.0.tar.gz && gzip -t logstash-8.18.0.tar.gz 2>/dev/null && tar -tzf logstash-8.18.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.18.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.18.0 after 3 attempts" >&2 || rm -f logstash-8.18.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-9.0.0-linux-x86_64.tar.gz" -O logstash-9.0.0.tar.gz && gzip -t logstash-9.0.0.tar.gz 2>/dev/null && tar -tzf logstash-9.0.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 9.0.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 9.0.0 after 3 attempts" >&2 || rm -f logstash-9.0.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
cat << 'EOF' > /tmp/logstash-single-test.sh
#!/bin/bash
set -euo pipefail

# Проверка аргумента с версией
if [ $# -ne 1 ]; then
    echo "✗ Usage: $0 <logstash_version>" >&2
    echo "✗ Example: $0 8.14" >&2
    exit 1
fi

VERSION="$1"
LOG_DIR="/var/log"
LOGSTASH_LOG="$LOG_DIR/logstash.log"
TEMP_DATA_DIR="/tmp/logstash_test_${VERSION}"
TEST_LOG="/var/log/dpkg.log"

# Очистка перед запуском
killall -9 java logstash ruby 2>/dev/null || true
sleep 2

# Очистка временных директорий
rm -rf "$TEMP_DATA_DIR" 2>/dev/null || true
mkdir -p "$TEMP_DATA_DIR"
chmod 777 "$TEMP_DATA_DIR"

rm -f "$LOGSTASH_LOG"
touch "$LOGSTASH_LOG"
chmod 644 "$LOGSTASH_LOG"

# Заголовок теста
echo ">>> Testing Logstash version: $VERSION"

# Создание тестового лога
echo -e "2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>\n2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>\n2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1\n2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9\n2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9" > "$TEST_LOG"
chmod 644 "$TEST_LOG"

# Проверка количества строк в логе
log_lines=$(wc -l < "$TEST_LOG")
if [ "$log_lines" -eq 5 ]; then
    echo "✓ Log file has 5 lines"
else
    echo "✗ Error: Expected 5 lines, got $log_lines" >&2
    exit 1
fi

# Проверка доступности Manticore Search
if curl -s localhost:9308/cli_json -d 'show status' > /dev/null; then
    echo "✓ Manticore Search available"
else
    echo "✗ Error: Manticore Search unavailable" >&2
    exit 1
fi

# Создание таблицы в Manticore
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS dpkg_log" > /dev/null 2>&1
mysql -h0 -P9306 -e "CREATE TABLE dpkg_log (id bigint, message string attribute indexed, host string attribute indexed, path string attribute indexed, \`@version\` string attribute indexed, \`@timestamp\` timestamp)" > /dev/null 2>&1 || {
    echo "✗ Error: Failed to create table dpkg_log" >&2
    exit 1
}

# Создание директории и символической ссылки для запуска нужной версии
# Убедимся, что директории существуют
if [ ! -d "/usr/share/logstash" ]; then
    mkdir -p /usr/share/logstash
fi

# Проверяем, что версия Logstash существует и распакована
if [ ! -d "/usr/share/logstash/logstash-${VERSION}.0" ]; then
    # Ищем архив и распаковываем его
    if [ -f "logstash-${VERSION}.0.tar.gz" ]; then
        tar -xzf "logstash-${VERSION}.0.tar.gz" -C /usr/share/logstash/ > /dev/null 2>&1
    elif [ -f "/tmp/logstash-${VERSION}.0.tar.gz" ]; then
        tar -xzf "/tmp/logstash-${VERSION}.0.tar.gz" -C /usr/share/logstash/ > /dev/null 2>&1
    else
        echo "✗ Error: Logstash $VERSION archive not found" >&2
        exit 1
    fi
fi

# Создание символической ссылки
if [ -f "/usr/share/logstash/logstash-${VERSION}.0/bin/logstash" ]; then
    ln -sf "/usr/share/logstash/logstash-${VERSION}.0/bin/logstash" /usr/bin/logstash > /dev/null 2>&1
else
    echo "✗ Error: Logstash $VERSION binary not found" >&2
    exit 1
fi

# Определение версионных параметров
version_major=$(echo "$VERSION" | cut -d. -f1)
version_minor=$(echo "$VERSION" | cut -d. -f2)

# ECS совместимость доступна с версии 7.5+
ecs_args=""
if [ "$version_major" -gt 7 ] || ([ "$version_major" -eq 7 ] && [ "$version_minor" -ge 5 ]); then
    ecs_args="--pipeline.ecs_compatibility v1"
fi

# Настройки для elasticsearch output в зависимости от версии
ilm_settings=""

# Настройки для версии 8.0+
if [ "$version_major" -ge 8 ]; then
    ilm_settings="ilm_enabled => false
    manage_template => false"
fi

# Создание конфигурации Logstash
CONFIG_FILE="/tmp/logstash_config_${VERSION}.conf"
cat > "$CONFIG_FILE" << CONF
input {
  file {
    path => ["$TEST_LOG"]
    start_position => "beginning"
    sincedb_path => "/dev/null"
    mode => "read"
  }
}
filter {
  mutate {
    replace => {
      "@version" => "1"
      "host" => "logstash"
      "path" => "$TEST_LOG"
    }
    remove_field => ["event", "log"]
  }
  ruby {
    code => "event.set('id', (Time.now.to_f * 1000000).to_i)"
  }
}
output {
  elasticsearch {
    hosts => ["http://localhost:9308"]
    index => "dpkg_log"
    action => "index"
    timeout => 30
    $ilm_settings
  }
}
CONF

# Параметры для запуска Logstash
batch_size=10

# Дополнительные опции JVM
export LS_JAVA_OPTS="-Xms256m -Xmx512m"

# Определение времени ожидания в зависимости от версии
wait_time=60

# Запуск Logstash
timeout $wait_time logstash --path.data="$TEMP_DATA_DIR" \
  -f "$CONFIG_FILE" \
  --log.level=error \
  --pipeline.batch.size $batch_size \
  $ecs_args \
  > /dev/null 2>&1 || true

# Дополнительное ожидание для завершения индексации
sleep 10

echo "✓ Logstash $VERSION started and processed logs"

# Проверка количества записей
row_count=$(mysql -h0 -P9306 -N -B -e "SELECT COUNT(*) FROM dpkg_log" | grep -o '[0-9]\+' || echo "0")
if [ "$row_count" -eq 5 ]; then
    echo "✓ Row count check for $VERSION: $row_count rows"
else
    echo "✗ Error: Expected 5 rows, got $row_count" >&2
    mysql -h0 -P9306 -e "SELECT * FROM dpkg_log\G" >&2
    exit 1
fi

# Проверка структуры таблицы
structure_ok=true
for field in "id" "message" "host" "path" "@version" "@timestamp"; do
    if ! mysql -h0 -P9306 -N -B -e "SELECT $field FROM dpkg_log LIMIT 1" > /dev/null 2>&1; then
        structure_ok=false
        echo "✗ Error: Field '$field' check failed" >&2
        break
    fi
done

if $structure_ok; then
    echo "✓ Structure check for $VERSION: passed"
else
    echo "✗ Error: Structure check failed" >&2
    mysql -h0 -P9306 -e "DESCRIBE dpkg_log" >&2
    exit 1
fi

echo "✓ Logstash version $VERSION tested successfully"

# Очистка временных файлов
rm -f "$CONFIG_FILE" "$TEST_LOG" > /dev/null 2>&1
EOF
––– output –––
OK
––– input –––
chmod +x /tmp/logstash-single-test.sh; echo $?
––– output –––
OK
––– input –––
bash /tmp/logstash-single-test.sh 7.17
––– output –––
OK
––– input –––
bash /tmp/logstash-single-test.sh 8.0
––– output –––
OK
––– input –––
bash /tmp/logstash-single-test.sh 8.1
––– output –––
OK
––– input –––
bash /tmp/logstash-single-test.sh 8.2
––– output –––
OK
––– input –––
bash /tmp/logstash-single-test.sh 8.3
––– output –––
OK
––– input –––
bash /tmp/logstash-single-test.sh 8.4
––– output –––
OK
––– input –––
bash /tmp/logstash-single-test.sh 8.5
––– output –––
OK
––– input –––
bash /tmp/logstash-single-test.sh 8.6
––– output –––
- ✓ Row count check for 8.6: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.6: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.6 tested successfully
+         id: 1747903879704506
+    message: 2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747903879
+ *************************** 2. row ***************************
+         id: 1747903879704580
+    message: 2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747903879
+ *************************** 3. row ***************************
+         id: 1747903879704175
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747903879
+ *************************** 4. row ***************************
+         id: 1747903879704977
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747903879
––– input –––
bash /tmp/logstash-single-test.sh 8.7
––– output –––
- ✓ Row count check for 8.7: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.7: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.7 tested successfully
+         id: 1747903957092181
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747903956
+ *************************** 2. row ***************************
+         id: 1747903957093340
+    message: 2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747903956
+ *************************** 3. row ***************************
+         id: 1747903957092464
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747903956
+ *************************** 4. row ***************************
+         id: 1747903957092416
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747903956
––– input –––
bash /tmp/logstash-single-test.sh 8.8
––– output –––
OK
––– input –––
bash /tmp/logstash-single-test.sh 8.9
––– output –––
- ✓ Row count check for 8.9: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.9: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.9 tested successfully
+         id: 1747904113255042
+    message: 2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747904113
+ *************************** 2. row ***************************
+         id: 1747904113255630
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747904113
+ *************************** 3. row ***************************
+         id: 1747904113255001
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747904113
+ *************************** 4. row ***************************
+         id: 1747904113255228
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747904113
––– input –––
bash /tmp/logstash-single-test.sh 8.10
––– output –––
OK
––– input –––
bash /tmp/logstash-single-test.sh 8.11
––– output –––
OK
––– input –––
bash /tmp/logstash-single-test.sh 8.12
––– output –––
OK
––– input –––
bash /tmp/logstash-single-test.sh 8.13
––– output –––
OK
––– input –––
bash /tmp/logstash-single-test.sh 8.14
––– output –––
- ✓ Row count check for 8.14: 5 rows
+ ✗ Error: Expected 5 rows, got 3
- ✓ Structure check for 8.14: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.14 tested successfully
+         id: 1747904503300663
+    message: 2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747904503
+ *************************** 2. row ***************************
+         id: 1747904503300885
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747904503
+ *************************** 3. row ***************************
+         id: 1747904503301257
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747904503
––– input –––
bash /tmp/logstash-single-test.sh 8.15
––– output –––
- ✓ Row count check for 8.15: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.15: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.15 tested successfully
+         id: 1747904581072094
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747904580
+ *************************** 2. row ***************************
+         id: 1747904581071864
+    message: 2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747904580
+ *************************** 3. row ***************************
+         id: 1747904581071893
+    message: 2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747904580
+ *************************** 4. row ***************************
+         id: 1747904581072624
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747904580
––– input –––
bash /tmp/logstash-single-test.sh 8.18
––– output –––
OK
––– input –––
rm -f logstash-*.tar.gz
––– output –––
OK

Copy link

github-actions bot commented May 22, 2025

Windows test results

    3 files    3 suites   24m 19s ⏱️
1 007 tests 955 ✅ 52 💤 0 ❌
1 011 runs  959 ✅ 52 💤 0 ❌

Results for commit 99e3d95.

♻️ This comment has been updated with latest results.

Copy link

clt-amd64

❌ CLT tests in test/clt-tests/integrations/test-integrations-
✅ OK: 4
❌ Failed: 1
⏳ Duration: 1961s
👉 Check Action Results for commit 4d14961
Failed tests:

test/clt-tests/integrations/test-integrations-support-logstash-versions.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd > /dev/null; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
set -b
––– output –––
OK
––– input –––
export PATH=/usr/bin:/usr/local/bin:/usr/sbin:/sbin:/bin
––– output –––
OK
––– input –––
apt-get update > /dev/null 2>&1 && apt-get install -y gnupg openjdk-11-jre-headless curl jq mysql-client > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
curl -s "https://hub.docker.com/v2/repositories/library/logstash/tags/?page_size=100" \
| jq -r ".results[].name" \
| grep "^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$" \
| sed "s/\.[0-9]*$//" \
| awk '!/rc|beta|alpha/' \
| sort -V | uniq
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-7.17.0-linux-x86_64.tar.gz" -O logstash-7.17.0.tar.gz && gzip -t logstash-7.17.0.tar.gz 2>/dev/null && tar -tzf logstash-7.17.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 7.17.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 7.17.0 after 3 attempts" >&2 || rm -f logstash-7.17.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.0.0-linux-x86_64.tar.gz" -O logstash-8.0.0.tar.gz && gzip -t logstash-8.0.0.tar.gz 2>/dev/null && tar -tzf logstash-8.0.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.0.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.0.0 after 3 attempts" >&2 || rm -f logstash-8.0.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.1.0-linux-x86_64.tar.gz" -O logstash-8.1.0.tar.gz && gzip -t logstash-8.1.0.tar.gz 2>/dev/null && tar -tzf logstash-8.1.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.1.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.1.0 after 3 attempts" >&2 || rm -f logstash-8.1.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.2.0-linux-x86_64.tar.gz" -O logstash-8.2.0.tar.gz && gzip -t logstash-8.2.0.tar.gz 2>/dev/null && tar -tzf logstash-8.2.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.2.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.2.0 after 3 attempts" >&2 || rm -f logstash-8.2.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.3.0-linux-x86_64.tar.gz" -O logstash-8.3.0.tar.gz && gzip -t logstash-8.3.0.tar.gz 2>/dev/null && tar -tzf logstash-8.3.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.3.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.3.0 after 3 attempts" >&2 || rm -f logstash-8.3.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.4.0-linux-x86_64.tar.gz" -O logstash-8.4.0.tar.gz && gzip -t logstash-8.4.0.tar.gz 2>/dev/null && tar -tzf logstash-8.4.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.4.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.4.0 after 3 attempts" >&2 || rm -f logstash-8.4.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.5.0-linux-x86_64.tar.gz" -O logstash-8.5.0.tar.gz && gzip -t logstash-8.5.0.tar.gz 2>/dev/null && tar -tzf logstash-8.5.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.5.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.5.0 after 3 attempts" >&2 || rm -f logstash-8.5.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.6.0-linux-x86_64.tar.gz" -O logstash-8.6.0.tar.gz && gzip -t logstash-8.6.0.tar.gz 2>/dev/null && tar -tzf logstash-8.6.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.6.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.6.0 after 3 attempts" >&2 || rm -f logstash-8.6.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.7.0-linux-x86_64.tar.gz" -O logstash-8.7.0.tar.gz && gzip -t logstash-8.7.0.tar.gz 2>/dev/null && tar -tzf logstash-8.7.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.7.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.7.0 after 3 attempts" >&2 || rm -f logstash-8.7.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.8.0-linux-x86_64.tar.gz" -O logstash-8.8.0.tar.gz && gzip -t logstash-8.8.0.tar.gz 2>/dev/null && tar -tzf logstash-8.8.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.8.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.8.0 after 3 attempts" >&2 || rm -f logstash-8.8.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.9.0-linux-x86_64.tar.gz" -O logstash-8.9.0.tar.gz && gzip -t logstash-8.9.0.tar.gz 2>/dev/null && tar -tzf logstash-8.9.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.9.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.9.0 after 3 attempts" >&2 || rm -f logstash-8.9.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.10.0-linux-x86_64.tar.gz" -O logstash-8.10.0.tar.gz && gzip -t logstash-8.10.0.tar.gz 2>/dev/null && tar -tzf logstash-8.10.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.10.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.10.0 after 3 attempts" >&2 || rm -f logstash-8.10.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.11.0-linux-x86_64.tar.gz" -O logstash-8.11.0.tar.gz && gzip -t logstash-8.11.0.tar.gz 2>/dev/null && tar -tzf logstash-8.11.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.11.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.11.0 after 3 attempts" >&2 || rm -f logstash-8.11.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.12.0-linux-x86_64.tar.gz" -O logstash-8.12.0.tar.gz && gzip -t logstash-8.12.0.tar.gz 2>/dev/null && tar -tzf logstash-8.12.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.12.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.12.0 after 3 attempts" >&2 || rm -f logstash-8.12.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.13.0-linux-x86_64.tar.gz" -O logstash-8.13.0.tar.gz && gzip -t logstash-8.13.0.tar.gz 2>/dev/null && tar -tzf logstash-8.13.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.13.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.13.0 after 3 attempts" >&2 || rm -f logstash-8.13.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.14.0-linux-x86_64.tar.gz" -O logstash-8.14.0.tar.gz && gzip -t logstash-8.14.0.tar.gz 2>/dev/null && tar -tzf logstash-8.14.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.14.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.14.0 after 3 attempts" >&2 || rm -f logstash-8.14.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.15.0-linux-x86_64.tar.gz" -O logstash-8.15.0.tar.gz && gzip -t logstash-8.15.0.tar.gz 2>/dev/null && tar -tzf logstash-8.15.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.15.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.15.0 after 3 attempts" >&2 || rm -f logstash-8.15.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.16.0-linux-x86_64.tar.gz" -O logstash-8.16.0.tar.gz && gzip -t logstash-8.16.0.tar.gz 2>/dev/null && tar -tzf logstash-8.16.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.16.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.16.0 after 3 attempts" >&2 || rm -f logstash-8.16.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.17.0-linux-x86_64.tar.gz" -O logstash-8.17.0.tar.gz && gzip -t logstash-8.17.0.tar.gz 2>/dev/null && tar -tzf logstash-8.17.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.17.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.17.0 after 3 attempts" >&2 || rm -f logstash-8.17.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.18.0-linux-x86_64.tar.gz" -O logstash-8.18.0.tar.gz && gzip -t logstash-8.18.0.tar.gz 2>/dev/null && tar -tzf logstash-8.18.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.18.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.18.0 after 3 attempts" >&2 || rm -f logstash-8.18.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-9.0.0-linux-x86_64.tar.gz" -O logstash-9.0.0.tar.gz && gzip -t logstash-9.0.0.tar.gz 2>/dev/null && tar -tzf logstash-9.0.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 9.0.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 9.0.0 after 3 attempts" >&2 || rm -f logstash-9.0.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
cat << 'EOF' > /tmp/logstash-single-test.sh
#!/bin/bash
set -euo pipefail

# Проверка аргумента с версией
if [ $# -ne 1 ]; then
    echo "✗ Usage: $0 <logstash_version>" >&2
    echo "✗ Example: $0 8.14" >&2
    exit 1
fi

VERSION="$1"
LOG_DIR="/var/log"
LOGSTASH_LOG="$LOG_DIR/logstash.log"
TEMP_DATA_DIR="/tmp/logstash_test_${VERSION}"
TEST_LOG="/var/log/dpkg.log"

# Очистка перед запуском
killall -9 java logstash ruby 2>/dev/null || true
sleep 2

# Очистка временных директорий
rm -rf "$TEMP_DATA_DIR" 2>/dev/null || true
mkdir -p "$TEMP_DATA_DIR"
chmod 777 "$TEMP_DATA_DIR"

rm -f "$LOGSTASH_LOG"
touch "$LOGSTASH_LOG"
chmod 644 "$LOGSTASH_LOG"

# Заголовок теста
echo ">>> Testing Logstash version: $VERSION"

# Создание тестового лога
echo -e "2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>\n2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>\n2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1\n2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9\n2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9" > "$TEST_LOG"
chmod 644 "$TEST_LOG"

# Проверка количества строк в логе
log_lines=$(wc -l < "$TEST_LOG")
if [ "$log_lines" -eq 5 ]; then
    echo "✓ Log file has 5 lines"
else
    echo "✗ Error: Expected 5 lines, got $log_lines" >&2
    exit 1
fi

# Проверка доступности Manticore Search
if curl -s localhost:9308/cli_json -d 'show status' > /dev/null; then
    echo "✓ Manticore Search available"
else
    echo "✗ Error: Manticore Search unavailable" >&2
    exit 1
fi

# Создание таблицы в Manticore
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS dpkg_log" > /dev/null 2>&1
mysql -h0 -P9306 -e "CREATE TABLE dpkg_log (id bigint, message string attribute indexed, host string attribute indexed, path string attribute indexed, \`@version\` string attribute indexed, \`@timestamp\` timestamp)" > /dev/null 2>&1 || {
    echo "✗ Error: Failed to create table dpkg_log" >&2
    exit 1
}

# Создание директории и символической ссылки для запуска нужной версии
# Убедимся, что директории существуют
if [ ! -d "/usr/share/logstash" ]; then
    mkdir -p /usr/share/logstash
fi

# Проверяем, что версия Logstash существует и распакована
if [ ! -d "/usr/share/logstash/logstash-${VERSION}.0" ]; then
    # Ищем архив и распаковываем его
    if [ -f "logstash-${VERSION}.0.tar.gz" ]; then
        tar -xzf "logstash-${VERSION}.0.tar.gz" -C /usr/share/logstash/ > /dev/null 2>&1
    elif [ -f "/tmp/logstash-${VERSION}.0.tar.gz" ]; then
        tar -xzf "/tmp/logstash-${VERSION}.0.tar.gz" -C /usr/share/logstash/ > /dev/null 2>&1
    else
        echo "✗ Error: Logstash $VERSION archive not found" >&2
        exit 1
    fi
fi

# Создание символической ссылки
if [ -f "/usr/share/logstash/logstash-${VERSION}.0/bin/logstash" ]; then
    ln -sf "/usr/share/logstash/logstash-${VERSION}.0/bin/logstash" /usr/bin/logstash > /dev/null 2>&1
else
    echo "✗ Error: Logstash $VERSION binary not found" >&2
    exit 1
fi

# Определение версионных параметров
version_major=$(echo "$VERSION" | cut -d. -f1)
version_minor=$(echo "$VERSION" | cut -d. -f2)

# ECS совместимость доступна с версии 7.5+
ecs_args=""
if [ "$version_major" -gt 7 ] || ([ "$version_major" -eq 7 ] && [ "$version_minor" -ge 5 ]); then
    ecs_args="--pipeline.ecs_compatibility v1"
fi

# Настройки для elasticsearch output в зависимости от версии
ilm_settings=""

# Настройки для версии 8.0+
if [ "$version_major" -ge 8 ]; then
    ilm_settings="ilm_enabled => false
    manage_template => false"
fi

# Создание конфигурации Logstash
CONFIG_FILE="/tmp/logstash_config_${VERSION}.conf"
cat > "$CONFIG_FILE" << CONF
input {
  file {
    path => ["$TEST_LOG"]
    start_position => "beginning"
    sincedb_path => "/dev/null"
    mode => "read"
  }
}
filter {
  mutate {
    replace => {
      "@version" => "1"
      "host" => "logstash"
      "path" => "$TEST_LOG"
    }
    remove_field => ["event", "log"]
  }
  ruby {
    code => "event.set('id', (Time.now.to_f * 1000000).to_i)"
  }
}
output {
  elasticsearch {
    hosts => ["http://localhost:9308"]
    index => "dpkg_log"
    action => "index"
    timeout => 30
    $ilm_settings
  }
}
CONF

# Параметры для запуска Logstash
batch_size=10

# Дополнительные опции JVM
export LS_JAVA_OPTS="-Xms256m -Xmx512m"

# Определение времени ожидания в зависимости от версии
wait_time=60

# Запуск Logstash
timeout $wait_time logstash --path.data="$TEMP_DATA_DIR" \
  -f "$CONFIG_FILE" \
  --log.level=error \
  --pipeline.batch.size $batch_size \
  $ecs_args \
  > /dev/null 2>&1 || true

# Дополнительное ожидание для завершения индексации
sleep 10

echo "✓ Logstash $VERSION started and processed logs"

# Проверка количества записей
row_count=$(mysql -h0 -P9306 -N -B -e "SELECT COUNT(*) FROM dpkg_log" | grep -o '[0-9]\+' || echo "0")
if [ "$row_count" -eq 5 ]; then
    echo "✓ Row count check for $VERSION: $row_count rows"
else
    echo "✗ Error: Expected 5 rows, got $row_count" >&2
    mysql -h0 -P9306 -e "SELECT * FROM dpkg_log\G" >&2
    exit 1
fi

# Проверка структуры таблицы
structure_ok=true
for field in "id" "message" "host" "path" "@version" "@timestamp"; do
    if ! mysql -h0 -P9306 -N -B -e "SELECT $field FROM dpkg_log LIMIT 1" > /dev/null 2>&1; then
        structure_ok=false
        echo "✗ Error: Field '$field' check failed" >&2
        break
    fi
done

if $structure_ok; then
    echo "✓ Structure check for $VERSION: passed"
else
    echo "✗ Error: Structure check failed" >&2
    mysql -h0 -P9306 -e "DESCRIBE dpkg_log" >&2
    exit 1
fi

echo "✓ Logstash version $VERSION tested successfully"

# Очистка временных файлов
rm -f "$CONFIG_FILE" "$TEST_LOG" > /dev/null 2>&1
EOF
––– output –––
OK
––– input –––
chmod +x /tmp/logstash-single-test.sh; echo $?
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 7.17
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.0
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.1
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.2
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.3
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.4
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.5
––– output –––
- ✓ Row count check for 8.5: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.5: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.5 tested successfully
+         id: 1747906059106811
+    message: 2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906058
+ *************************** 2. row ***************************
+         id: 1747906059107130
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906058
+ *************************** 3. row ***************************
+         id: 1747906059108218
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906058
+ *************************** 4. row ***************************
+         id: 1747906059107670
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906058
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.6
––– output –––
- ✓ Row count check for 8.6: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.6: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.6 tested successfully
+         id: 1747906134538983
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906134
+ *************************** 2. row ***************************
+         id: 1747906134538885
+    message: 2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906134
+ *************************** 3. row ***************************
+         id: 1747906134539204
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906134
+ *************************** 4. row ***************************
+         id: 1747906134539351
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906134
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.7
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.8
––– output –––
- ✓ Row count check for 8.8: 5 rows
+ ✗ Error: Expected 5 rows, got 3
- ✓ Structure check for 8.8: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.8 tested successfully
+         id: 1747906288176369
+    message: 2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906288
+ *************************** 2. row ***************************
+         id: 1747906288176048
+    message: 2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906288
+ *************************** 3. row ***************************
+         id: 1747906288176511
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906288
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.9
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.10
––– output –––
- ✓ Row count check for 8.10: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.10: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.10 tested successfully
+         id: 1747906444613853
+    message: 2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906444
+ *************************** 2. row ***************************
+         id: 1747906444613685
+    message: 2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906444
+ *************************** 3. row ***************************
+         id: 1747906444613943
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906444
+ *************************** 4. row ***************************
+         id: 1747906444614319
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906444
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.11
––– output –––
- ✓ Row count check for 8.11: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.11: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.11 tested successfully
+         id: 1747906523226030
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906523
+ *************************** 2. row ***************************
+         id: 1747906523225818
+    message: 2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906523
+ *************************** 3. row ***************************
+         id: 1747906523225732
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906523
+ *************************** 4. row ***************************
+         id: 1747906523225991
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906523
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.12
––– output –––
- ✓ Row count check for 8.12: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.12: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.12 tested successfully
+         id: 1747906601766822
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906601
+ *************************** 2. row ***************************
+         id: 1747906601767027
+    message: 2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906601
+ *************************** 3. row ***************************
+         id: 1747906601766528
+    message: 2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906601
+ *************************** 4. row ***************************
+         id: 1747906601767138
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906601
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.13
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.14
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.15
––– output –––
- ✓ Row count check for 8.15: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.15: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.15 tested successfully
+         id: 1747906836712253
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906836
+ *************************** 2. row ***************************
+         id: 1747906836712142
+    message: 2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906836
+ *************************** 3. row ***************************
+         id: 1747906836712365
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906836
+ *************************** 4. row ***************************
+         id: 1747906836712458
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906836
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.18
––– output –––
- ✓ Row count check for 8.18: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.18: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.18 tested successfully
+         id: 1747906917264722
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906917
+ *************************** 2. row ***************************
+         id: 1747906917264438
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906917
+ *************************** 3. row ***************************
+         id: 1747906917264387
+    message: 2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906917
+ *************************** 4. row ***************************
+         id: 1747906917264631
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1747906917
––– input –––
rm -f logstash-*.tar.gz
––– output –––
OK

Copy link

clt

❌ CLT tests in test/clt-tests/plugins/
✅ OK: 0
❌ Failed: 1
⏳ Duration: 11s
👉 Check Action Results for commit 2d438b8
Failed tests:

test/clt-tests/plugins/test-enable-disable-buddy-plugin.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd --stopwait > /dev/null; stdbuf -oL searchd > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW QUERIES\G"|grep "1. row"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "DISABLE BUDDY PLUGIN manticoresoftware/buddy-plugin-show"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW QUERIES"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "ENABLE BUDDY PLUGIN manticoresoftware/buddy-plugin-show"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "SHOW QUERIES\G"|grep "1. row"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "create table t (id bigint, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2')"
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 't': knn library not loaded
––– input –––
mysql -h0 -P9306 -e "select id, knn_dist() from t where knn ( image_vector, 5, 1 );"
––– output –––
+ ERROR 1064 (42000) at line 1: unknown local table(s) 't' in search request
––– input –––
mysql -h0 -P9306 -e "DISABLE BUDDY PLUGIN manticoresoftware/buddy-plugin-knn"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select id, knn_dist() from t where knn ( image_vector, 5, 1 );"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "ENABLE BUDDY PLUGIN manticoresoftware/buddy-plugin-knn"
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "select id, knn_dist() from t where knn ( image_vector, 5, 1 );"
––– output –––
+ ERROR 1064 (42000) at line 1: unknown local table(s) 't' in search request

Copy link

clt

❌ CLT tests in test/clt-tests/buddy/
✅ OK: 8
❌ Failed: 4
⏳ Duration: 146s
👉 Check Action Results for commit 2d438b8
Failed tests:

test/clt-tests/buddy/test-knn-search-by-doc-id.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd > /dev/null; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
curl -s localhost:9308/cli -d "create table test ( test_vector float_vector knn_type='hnsw' knn_dims='2' hnsw_similarity='l2' )" > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
curl -s localhost:9308/cli -d 'insert into test values ( 2, (0.2,0.3) ), ( 3, (0.2,0.7) ), ( 4, (0.3,0.5) ), ( 5, (0.5,0.5) ), ( 6, (0.7,0.2) ), ( 10, (0.9,0.9) )' > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
curl -s localhost:9308/search -d '{"index":"test","knn":{"field":"test_vector","doc_id":3,"k":5}}'; echo $?
––– output –––
- {"took":%{NUMBER},"timed_out":false,"hits":{"total":%{NUMBER},"total_relation":"eq","hits":[{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{2}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{2}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]+/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{1}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}},{"_id":%{NUMBER},"_score":%{NUMBER},"_knn_dist":#!/[0-9]{1}.[0-9]{2}/!#,"_source":{"test_vector":[#!/[0-9]{1}.[0-9],[0-9]{1}.[0-9]/!#]}}]}}0
+ {"error":"unknown local table(s) 'test' in search request"}0
test/clt-tests/buddy/test-inconsistency-in-error-messages.rec
––– input –––
echo -e 'common {\n\tplugin_dir = /usr/local/lib/manticore\n\tlemmatizer_base = /usr/share/manticore/morph/\n}\n\nsearchd {\n\tlisten = 9306:mysql41\n\tlisten = 9312\n\tlisten = 9308:http\n\tlog = /var/log/manticore/searchd.log\n\tquery_log = /var/log/manticore/query.log\n\tpid_file = /var/log/manticore/searchd.pid\n\tdata_dir = /var/log/manticore\n\tquery_log_format = sphinxql\n\tquery_log_commands = 1\n\tbuddy_path =\n}\n' > manticore.conf
––– output –––
OK
––– input –––
stdbuf -oL searchd --config ./manticore.conf > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 'accepting connections' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Accepting connections!'; else echo 'Timeout or failed!'; fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "drop table if exists a; drop table if exists test; create table a (id BIGINT, model TEXT, storage_capacity INTEGER, color string, release_year INTEGER, price FLOAT, discounted_price FLOAT, sold BOOL, date_added TIMESTAMP, product_codes MULTI, values MULTI64, additional_info JSON, vector float_vector knn_type='hnsw' knn_dims='4' hnsw_similarity='l2');create table test type='distributed' local='a';"
––– output –––
+ ERROR 1064 (42000) at line 1: error adding table 'a': knn library not loaded
––– input –––
for i in {1..100}; do response=$(curl -s -X POST http://localhost:9308/insert -d '{"table": "test", "id": 1, "doc": {"model": "iPhone 13 Pro", "storage_capacity": 256, "color": "silver", "release_year": 2021, "price": 1099.99, "discounted_price": 989.99, "sold": 1, "date_added": 1591362342000, "product_codes": [1,2,3], "values": [523456764345678976,98765409877866654098,1109876543450987650987], "additional_info": {"features": ["ProMotion display", "A15 Bionic chip", "Ceramic Shield front cover"]}, "vector": [0.773448,0.312478,0.137971,0.459821]}}'); if [[ "$response" != *'"error":{"type":"action_request_validation_exception","reason":"table '\''test'\'' does not support INSERT","table":"test"},"status":409'* ]]; then echo "Mismatch found at iteration $i: $response"; exit 1; fi; done; echo "All 100 requests returned the same error"
––– output –––
- All 100 requests returned the same error
+ Mismatch found at iteration 1: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 2: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 3: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 4: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 5: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 6: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 7: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 8: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 9: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 10: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 11: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 12: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 13: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 14: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 15: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 16: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 17: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 18: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 19: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 20: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 21: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 22: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 23: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 24: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 25: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 26: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 27: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 28: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 29: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 30: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 31: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 32: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 33: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 34: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 35: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 36: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 37: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 38: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 39: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 40: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 41: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 42: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 43: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 44: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 45: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 46: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 47: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 48: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 49: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 50: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 51: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 52: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 53: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 54: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 55: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 56: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 57: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 58: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 59: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 60: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 61: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 62: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 63: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 64: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 65: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 66: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 67: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 68: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 69: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 70: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 71: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 72: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 73: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 74: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 75: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 76: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 77: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 78: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 79: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 80: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 81: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 82: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 83: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 84: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 85: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 86: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 87: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 88: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 89: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 90: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 91: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 92: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 93: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 94: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 95: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 96: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 97: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 98: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 99: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ Mismatch found at iteration 100: {"error":{"type":"action_request_validation_exception","reason":"table 'test' absent","table":"test"},"status":409}
+ bash: line 13: exit: command not found
+ All 100 requests returned the same error
test/clt-tests/buddy/test-show-version.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd > /dev/null; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
mysql -h0 -P9306 -e "show version\G;"
––– output –––
- Component: KNN
+ Component: Buddy
-   Version: knn %{VERSION}
+   Version: buddy v3.28.3-gbc18e3
- *************************** 5. row ***************************
- Component: Buddy
-   Version: buddy %{VERSION}
test/clt-tests/buddy/test-inconsistent-comunication-with-buddy.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd > /dev/null; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
apt-get install jq -y > /dev/null; echo $?
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW TABLES"; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20TABLES"; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW TABLES"; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20TABLES"; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW VARIABLES"; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20VARIABLES"; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW VARIABLES"; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20VARIABLES"; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW META"; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20META"; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW META"; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20META"; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW QUERIES" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20QUERIES" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW QUERIES" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
OK
––– input –––
curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20QUERIES" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
OK
––– input –––
curl -s -X POST "http://localhost:9308/sql?mode=raw" -d "query=SHOW VERSION" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
-         "Component": "KNN",
+         "Component": "Buddy",
-         "Version": "knn %{VERSION}"
+         "Version": "buddy v3.28.3-gbc18e3"
-       },
+       }
-       {
+     ]
-         "Component": "Buddy",
+   }
-         "Version": "buddy %{VERSION}"
+ ]
-       }
-     ]
-   }
- ]
––– input –––
curl -s "http://localhost:9308/sql?mode=raw&query=SHOW%20VERSION" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
-         "Component": "KNN",
+         "Component": "Buddy",
-         "Version": "knn %{VERSION}"
+         "Version": "buddy v3.28.3-gbc18e3"
-       },
+       }
-       {
+     ]
-         "Component": "Buddy",
+   }
-         "Version": "buddy %{VERSION}"
+ ]
-       }
-     ]
-   }
- ]
––– input –––
curl -s -X POST "http://localhost:9308/sql?raw_response=true" -d "query=SHOW VERSION" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
-         "Component": "KNN",
+         "Component": "Buddy",
-         "Version": "knn %{VERSION}"
+         "Version": "buddy v3.28.3-gbc18e3"
-       },
+       }
-       {
+     ]
-         "Component": "Buddy",
+   }
-         "Version": "buddy %{VERSION}"
+ ]
-       }
-     ]
-   }
- ]
––– input –––
curl -s "http://localhost:9308/sql?raw_response=true&query=SHOW%20VERSION" | jq '.[0].data |= sort_by(.id)'; echo
––– output –––
-         "Component": "KNN",
+         "Component": "Buddy",
-         "Version": "knn %{VERSION}"
+         "Version": "buddy v3.28.3-gbc18e3"
-       },
+       }
-       {
+     ]
-         "Component": "Buddy",
+   }
-         "Version": "buddy %{VERSION}"
+ ]
-       }
-     ]
-   }
- ]

Copy link

clt

❌ CLT tests in test/clt-tests/replication/
✅ OK: 4
❌ Failed: 1
⏳ Duration: 147s
👉 Check Action Results for commit 2d438b8
Failed tests:

test/clt-tests/replication/test-replication-with-mysqldump.rec
––– input –––
export INSTANCE=1
––– output –––
OK
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
OK
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore-${INSTANCE}/searchd.log; fi
––– output –––
OK
––– input –––
export INSTANCE=2
––– output –––
OK
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
OK
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore-${INSTANCE}/searchd.log; fi
––– output –––
OK
––– input –––
export INSTANCE=3
––– output –––
OK
––– input –––
mkdir -p /var/{run,lib,log}/manticore-${INSTANCE}
––– output –––
OK
––– input –––
stdbuf -oL searchd -c test/clt-tests/base/searchd-with-flexible-ports.conf > /dev/null
––– output –––
OK
––– input –––
if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore-${INSTANCE}/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore-${INSTANCE}/searchd.log; fi
––– output –––
OK
––– input –––
export CLUSTER_NAME=c
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "create cluster ${CLUSTER_NAME}"
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
OK
––– input –––
echo 'the, and, of' > /tmp/stopwords.txt
––– output –––
OK
––– input –––
echo 'cat => feline' > /tmp/exceptions.txt
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "CREATE TABLE tbl1 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='columnar' morphology='stem_en' stopwords='/tmp/stopwords.txt' exceptions='/tmp/exceptions.txt' rt_mem_limit='256M';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: error adding table 'tbl1': knn library not loaded
+ 1
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
-         Value: engine = columnar
- exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_0.txt
- morphology = stem_en
- stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_0.txt
- rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "INSERT INTO tbl1 VALUES (1, 'The cat runs', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
+ 1
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"
––– output –––
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl1'
––– input –––
for n in `seq 2 $INSTANCE`; do mysql -h0 -P${n}306 -e "join cluster ${CLUSTER_NAME} at '127.0.0.1:1312'"; done;
––– output –––
OK
––– input –––
mysql -h0 -P${INSTANCE}306 -e "show status like 'cluster_${CLUSTER_NAME}_status'\G"
––– output –––
OK
––– input –––
echo '=> faster' > /tmp/wordforms.txt
––– output –––
OK
––– input –––
mysql -h0 -P2306 -e "CREATE TABLE tbl2 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' morphology='stem_ru' wordforms='/tmp/wordforms.txt' rt_mem_limit='512M';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: error adding table 'tbl2': knn library not loaded
+ 1
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
-         Value: engine = rowwise
- morphology = stem_ru
- wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
- rt_mem_limit = 536870912
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (1, 'Текст на русском', 84, 2.71, '{\"ключ\":\"значение\"}', (4,5,6), 'строка', 0, '2023-11-15 08:30:00', (987654321098765432, 123456789012345678), (0.4, 0.3, 0.2, 0.1));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
+ 1
––– input –––
mysql -h0 -P2306 -e "INSERT INTO tbl2 VALUES (2, 'Прыжок', 19, 1.62, '{\"движение\":\"прыжок\",\"число\":3}', (7,8,9), 'пример', 1, '2024-06-10 15:45:00', (345678901234567890, 567890123456789012), (0.8, 0.7, 0.6, 0.5));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: Cannot create table with column names missing
+ 1
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"
––– output –––
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl2'
––– input –––
mysql -h0 -P3306 -e "CREATE TABLE tbl3 (id BIGINT, f TEXT, a INT, b FLOAT, j JSON, m MULTI, s STRING, e BOOL, d TIMESTAMP, v MULTI64, fv FLOAT_VECTOR KNN_TYPE='hnsw' KNN_DIMS='4' HNSW_SIMILARITY='l2') ENGINE='rowwise' rt_mem_limit='512M';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: error adding table 'tbl3': knn library not loaded
+ 1
––– input –––
mysql -h0 -P3306 -e "SHOW TABLE tbl3 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
-         Value: engine = rowwise
- rt_mem_limit = 536870912
––– input –––
mysql -h0 -P3306 -e "INSERT INTO tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (1, 'Plain example', 42, 3.14, '{\"key\":\"value\"}', (1,2,3), 'plain_string', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P3306 -e "ALTER CLUSTER c ADD tbl3;"; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
- +-------------------+----------------+
+ +-------------------+-------+
- | Counter           | Value          |
+ | Counter           | Value |
- +-------------------+----------------+
+ +-------------------+-------+
- | cluster_c_indexes | tbl1,tbl2,tbl3 |
+ | cluster_c_indexes | tbl3  |
- +-------------------+----------------+
+ +-------------------+-------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
+ Data from c:tbl1 on port 2306:
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ Data from c:tbl1 on port 3306:
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 3306:
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f            | a    | b        | j               | m     | s    | e    | d    | v                                     | fv                                  |
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | The cat runs |   42 | 3.140000 | {"key":"value"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+--------------+------+----------+-----------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- | id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
+ Data from c:tbl2 on port 2306:
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- |    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+ Data from c:tbl2 on port 3306:
- |    2 | Прыжок                         |   19 | 1.620000 | {"движение":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl2 on port 2306:
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- |    2 | Прыжок                         |   19 | 1.620000 | {"движение":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl2 on port 3306:
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                              | a    | b        | j                                                  | m     | s            | e    | d    | v                                     | fv                                  |
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}                                | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- |    2 | Прыжок                         |   19 | 1.620000 | {"движение":"прыжок","число":3}                    | 7,8,9 | пример       |    1 |    0 | 345678901234567890,567890123456789012 | 0.800000,0.700000,0.600000,0.500000 |
- +------+--------------------------------+------+----------+----------------------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
- | id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+ | id   | f             | s            | d                   | a    | b        | j               | m     | e    | v                                     | fv   |
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
- |    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ |    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3 |    1 | 123456789012345678,987654321098765432 | NULL |
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
- | id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+ | id   | f             | s            | d                   | a    | b        | j               | m     | e    | v                                     | fv   |
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
- |    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ |    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3 |    1 | 123456789012345678,987654321098765432 | NULL |
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
- | id   | f             | a    | b        | j               | m     | s            | e    | d    | v                                     | fv                                  |
+ | id   | f             | s            | d                   | a    | b        | j               | m     | e    | v                                     | fv   |
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
- |    1 | Plain example |   42 | 3.140000 | {"key":"value"} | 1,2,3 | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ |    1 | Plain example | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3 |    1 | 123456789012345678,987654321098765432 | NULL |
- +------+---------------+------+----------+-----------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+---------------+--------------+---------------------+------+----------+-----------------+-------+------+---------------------------------------+------+
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO c:tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'tbl1' absent
+ 1
––– input –––
mysqldump -etc --column-statistics=0 --replace -u cluster -h0 -P1306 --skip-comments manticore c:tbl1 | mysql -h0 -P1306; echo $?
––– output –––
- 0
+ mysqldump: Couldn't find table: "c:tbl1"
+ 0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+ Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do mysql -h0 -P$port -e "SET GLOBAL cluster_user = 'new_username';"; done
––– output –––
OK
––– input –––
for port in 1306 2306 3306; do timeout 10 bash -c "while ! mysql -h0 -P$port -e \"SHOW VARIABLES LIKE 'cluster_user';\" | grep -q '| cluster_user  | new_username |'; do sleep 1; done" && echo "Port $port: cluster_user is new_username." || { echo "Port $port: cluster_user is not new_username."; exit 1; }; done
––– output –––
OK
––– input –––
mysql -h0 -P2306 -e "DELETE FROM c:tbl2 WHERE id = 2;"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: unknown table 'tbl2' in delete request
+ 1
––– input –––
mysql -h0 -P3306 -e "INSERT INTO c:tbl3 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'New plain entry', 50, 5.5, '{\"new\":\"entry\"}', (10,11,12), 'new_string', 0, '2025-03-02 10:00:00', (111222333444555666, 777888999000111222), (0.6, 0.7, 0.8, 0.9));"; echo $?
––– output –––
OK
––– input –––
mysqldump -etc --column-statistics=0 --replace --net-buffer-length=16M -u new_username -h0 -P2306 --skip-comments manticore c:tbl1 c:tbl2 c:tbl3 | mysql -h0 -P3306; echo $?
––– output –––
- 0
+ mysqldump: Couldn't find table: "c:tbl1"
+ 0
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+ Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- | id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
+ Data from c:tbl2 on port 2306:
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- |    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+ Data from c:tbl2 on port 3306:
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- Data from c:tbl2 on port 2306:
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl2 on port 3306:
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                              | a    | b        | j                               | m     | s            | e    | d    | v                                     | fv                                  |
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Текст на русском               |   84 | 2.710000 | {"ключ":"значение"}             | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- +------+--------------------------------+------+----------+---------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl3 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl3 ORDER BY id ASC;"; done
––– output –––
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
- | id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+ | id   | f               | s            | d                   | a    | b        | j               | m        | e    | v                                     | fv   |
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
- |    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ |    1 | Plain example   | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3    |    1 | 123456789012345678,987654321098765432 | NULL |
- |    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+ |    2 | New plain entry | new_string   | 2025-03-02 10:00:00 |   50 | 5.500000 | {"new":"entry"} | 10,11,12 |    0 | 111222333444555666,777888999000111222 | NULL |
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
- | id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+ | id   | f               | s            | d                   | a    | b        | j               | m        | e    | v                                     | fv   |
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
- |    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ |    1 | Plain example   | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3    |    1 | 123456789012345678,987654321098765432 | NULL |
- |    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+ |    2 | New plain entry | new_string   | 2025-03-02 10:00:00 |   50 | 5.500000 | {"new":"entry"} | 10,11,12 |    0 | 111222333444555666,777888999000111222 | NULL |
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
- | id   | f               | a    | b        | j               | m        | s            | e    | d    | v                                     | fv                                  |
+ | id   | f               | s            | d                   | a    | b        | j               | m        | e    | v                                     | fv   |
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
- |    1 | Plain example   |   42 | 3.140000 | {"key":"value"} | 1,2,3    | plain_string |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ |    1 | Plain example   | plain_string | 2024-12-16 12:00:00 |   42 | 3.140000 | {"key":"value"} | 1,2,3    |    1 | 123456789012345678,987654321098765432 | NULL |
- |    2 | New plain entry |   50 | 5.500000 | {"new":"entry"} | 10,11,12 | new_string   |    0 |    0 | 111222333444555666,777888999000111222 | 0.600000,0.700000,0.800000,0.900000 |
+ |    2 | New plain entry | new_string   | 2025-03-02 10:00:00 |   50 | 5.500000 | {"new":"entry"} | 10,11,12 |    0 | 111222333444555666,777888999000111222 | NULL |
- +------+-----------------+------+----------+-----------------+----------+--------------+------+------+---------------------------------------+-------------------------------------+
+ +------+-----------------+--------------+---------------------+------+----------+-----------------+----------+------+---------------------------------------+------+
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c DROP tbl1;"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl1'
+ 1
––– input –––
mysql -h0 -P1306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
- +-------------------+-----------+
+ +-------------------+-------+
- | Counter           | Value     |
+ | Counter           | Value |
- +-------------------+-----------+
+ +-------------------+-------+
- | cluster_c_indexes | tbl2,tbl3 |
+ | cluster_c_indexes | tbl3  |
- +-------------------+-----------+
+ +-------------------+-------+
––– input –––
echo 'new, stop, words' > /tmp/new_stopwords.txt; echo $?
––– output –––
OK
––– input –––
echo 'dog => canine' > /tmp/new_exceptions.txt; echo $?
––– output –––
OK
––– input –––
mysql -h0 -P1306 -e "ALTER TABLE tbl1 stopwords='/tmp/new_stopwords.txt' exceptions='/tmp/new_exceptions.txt';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'tbl1' is not found, or not real-time
+ 1
––– input –––
mysql -h0 -P1306 -e "SHOW TABLE tbl1 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
-         Value: engine = columnar
- exceptions = /var/log/manticore-1/tbl1/exceptions_chunk0_1.txt
- morphology = stem_en
- stopwords = /var/log/manticore-1/tbl1/stopwords_chunk0_1.txt
- rt_mem_limit = 268435456
––– input –––
mysql -h0 -P1306 -e "REPLACE INTO tbl1 VALUES (1, 'Updated feline runs', 42, 3.14, '{\"key\":\"updated\"}', (1,2,3), 'test', 1, '2024-12-16 12:00:00', (123456789012345678, 987654321098765432), (0.1, 0.2, 0.3, 0.4));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'tbl1' absent
+ 1
––– input –––
mysql -h0 -P1306 -e "ALTER CLUSTER c ADD tbl1;"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl1'
+ 1
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+ Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE c:tbl1 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
-         Value: engine = columnar
- exceptions = /var/log/manticore-2/tbl1/exceptions_chunk0_1.txt
- morphology = stem_en
- stopwords = /var/log/manticore-2/tbl1/stopwords_chunk0_1.txt
- rt_mem_limit = 268435456
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('new runs');"; done
––– output –––
- +------+---------------------+----------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f                   | highlight()                |
+ Data from c:tbl1 on port 2306:
- +------+---------------------+----------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | Updated feline runs | Updated feline <b>runs</b> |
+ Data from c:tbl1 on port 3306:
- +------+---------------------+----------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+---------------------+----------------------------+
- | id   | f                   | highlight()                |
- +------+---------------------+----------------------------+
- |    1 | Updated feline runs | Updated feline <b>runs</b> |
- +------+---------------------+----------------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------------+----------------------------+
- | id   | f                   | highlight()                |
- +------+---------------------+----------------------------+
- |    1 | Updated feline runs | Updated feline <b>runs</b> |
- +------+---------------------+----------------------------+
––– input –––
mysql -h0 -P1306 -e "INSERT INTO c:tbl1 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'The dog barks', 10, 2.5, '{\"animal\":\"dog\"}', (4,5), 'bark', 1, '2025-01-01 10:00:00', (111222333444555, 666777888999000), (0.5, 0.6, 0.7, 0.8));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'tbl1' absent
+ 1
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl1 WHERE MATCH('canine');"; done
––– output –––
- +------+---------------+----------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f             | highlight()          |
+ Data from c:tbl1 on port 2306:
- +------+---------------+----------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    2 | The dog barks | The <b>dog</b> barks |
+ Data from c:tbl1 on port 3306:
- +------+---------------+----------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- Data from c:tbl1 on port 2306:
- +------+---------------+----------------------+
- | id   | f             | highlight()          |
- +------+---------------+----------------------+
- |    2 | The dog barks | The <b>dog</b> barks |
- +------+---------------+----------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------+----------------------+
- | id   | f             | highlight()          |
- +------+---------------+----------------------+
- |    2 | The dog barks | The <b>dog</b> barks |
- +------+---------------+----------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl1 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl1 ORDER BY id ASC;"; done
––– output –––
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
+ Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
+ Data from c:tbl1 on port 3306:
- |    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl1' in search request
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 2306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- |    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl1 on port 3306:
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                   | a    | b        | j                 | m     | s    | e    | d    | v                                     | fv                                  |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Updated feline runs |   42 | 3.140000 | {"key":"updated"} | 1,2,3 | test |    1 |    0 | 123456789012345678,987654321098765432 | 0.100000,0.200000,0.300000,0.400000 |
- |    2 | The dog barks       |   10 | 2.500000 | {"animal":"dog"}  | 4,5   | bark |    1 |    0 | 111222333444555,666777888999000       | 0.500000,0.600000,0.700000,0.800000 |
- +------+---------------------+------+----------+-------------------+-------+------+------+------+---------------------------------------+-------------------------------------+
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c DROP tbl2;"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl2'
+ 1
––– input –––
mysql -h0 -P2306 -e "SHOW STATUS LIKE 'cluster_c_indexes';"
––– output –––
- +-------------------+-----------+
+ +-------------------+-------+
- | Counter           | Value     |
+ | Counter           | Value |
- +-------------------+-----------+
+ +-------------------+-------+
- | cluster_c_indexes | tbl3,tbl1 |
+ | cluster_c_indexes | tbl3  |
- +-------------------+-----------+
+ +-------------------+-------+
––– input –––
ls /usr/share/manticore/ru.pak
––– output –––
OK
––– input –––
mysql -h0 -P2306 -e "ALTER TABLE tbl2 morphology='lemmatize_ru';"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'tbl2' is not found, or not real-time
+ 1
––– input –––
mysql -h0 -P2306 -e "SHOW TABLE tbl2 SETTINGS\G;"
––– output –––
- *************************** 1. row ***************************
+ ERROR 1064 (42000) at line 1: SHOW TABLE SETTINGS requires an existing table
- Variable_name: settings
-         Value: engine = rowwise
- morphology = lemmatize_ru
- wordforms = /var/log/manticore-2/tbl2/wordforms_chunk0_0.txt
- rt_mem_limit = 536870912
––– input –––
mysqldump -etc --column-statistics=0 --replace -u new_username -h0 -P2306 --skip-comments manticore tbl2 | mysql -P2306 -h0; echo $?
––– output –––
- 0
+ mysqldump: Couldn't find table: "tbl2"
+ 0
––– input –––
mysql -h0 -P2306 -e "ALTER CLUSTER c ADD tbl2;"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: unknown or wrong type of table 'tbl2'
+ 1
––– input –––
mysql -h0 -P2306 -e "INSERT INTO c:tbl2 (id, f, a, b, j, m, s, e, d, v, fv) VALUES (2, 'Кот прыжки делает', 5, 1.1, '{\"движение\":\"прыжки\"}', (10,11), 'кот', 1, '2025-03-11 12:00:00', (111111111, 222222222), (0.9, 0.8, 0.7, 0.6));"; echo $?
––– output –––
- 0
+ ERROR 1064 (42000) at line 1: table 'tbl2' absent
+ 1
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT id, f, HIGHLIGHT() FROM c:tbl2 WHERE MATCH('прыжок');"; done
––– output –––
- +------+----------------------------------+-----------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- | id   | f                                | highlight()                             |
+ Data from c:tbl2 on port 2306:
- +------+----------------------------------+-----------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- |    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
+ Data from c:tbl2 on port 3306:
- +------+----------------------------------+-----------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- Data from c:tbl2 on port 2306:
- +------+----------------------------------+-----------------------------------------+
- | id   | f                                | highlight()                             |
- +------+----------------------------------+-----------------------------------------+
- |    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
- +------+----------------------------------+-----------------------------------------+
- Data from c:tbl2 on port 3306:
- +------+----------------------------------+-----------------------------------------+
- | id   | f                                | highlight()                             |
- +------+----------------------------------+-----------------------------------------+
- |    2 | Кот прыжки делает                | Кот <b>прыжки</b> делает                |
- +------+----------------------------------+-----------------------------------------+
––– input –––
for port in 1306 2306 3306; do echo "Data from c:tbl2 on port $port:"; mysql -h0 -P$port -e "SELECT * FROM c:tbl2 ORDER BY id ASC;"; done
––– output –––
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- | id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
+ Data from c:tbl2 on port 2306:
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- |    1 | Текст на русском                 |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
+ Data from c:tbl2 on port 3306:
- |    2 | Кот прыжки делает                |    5 | 1.100000 | {"движение":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
+ ERROR 1064 (42000) at line 1: unknown local table(s) 'tbl2' in search request
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl2 on port 2306:
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Текст на русском                 |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- |    2 | Кот прыжки делает                |    5 | 1.100000 | {"движение":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- Data from c:tbl2 on port 3306:
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- | id   | f                                | a    | b        | j                                   | m     | s            | e    | d    | v                                     | fv                                  |
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
- |    1 | Текст на русском                 |   84 | 2.710000 | {"ключ":"значение"}                 | 4,5,6 | строка       |    0 |    0 | 123456789012345678,987654321098765432 | 0.400000,0.300000,0.200000,0.100000 |
- |    2 | Кот прыжки делает                |    5 | 1.100000 | {"движение":"прыжки"}               | 10,11 | кот          |    1 |    0 | 111111111,222222222                   | 0.900000,0.800000,0.700000,0.600000 |
- +------+----------------------------------+------+----------+-------------------------------------+-------+--------------+------+------+---------------------------------------+-------------------------------------+
––– input –––
rm -f /tmp/stopwords.txt /tmp/exceptions.txt /tmp/wordforms.txt /var/lib/manticore/tbl3.conf dump.sql
––– output –––
OK

Copy link

clt-amd64

❌ CLT tests in test/clt-tests/integrations/test-integrations-
✅ OK: 4
❌ Failed: 1
⏳ Duration: 1865s
👉 Check Action Results for commit 2d438b8
Failed tests:

test/clt-tests/integrations/test-integrations-support-logstash-versions.rec
––– input –––
rm -f /var/log/manticore/searchd.log; stdbuf -oL searchd > /dev/null; if timeout 10 grep -qm1 '\[BUDDY\] started' <(tail -n 1000 -f /var/log/manticore/searchd.log); then echo 'Buddy started!'; else echo 'Timeout or failed!'; cat /var/log/manticore/searchd.log;fi
––– output –––
OK
––– input –––
set -b
––– output –––
OK
––– input –––
export PATH=/usr/bin:/usr/local/bin:/usr/sbin:/sbin:/bin
––– output –––
OK
––– input –––
apt-get update > /dev/null 2>&1 && apt-get install -y gnupg openjdk-11-jre-headless curl jq mysql-client > /dev/null 2>&1; echo $?
––– output –––
OK
––– input –––
curl -s "https://hub.docker.com/v2/repositories/library/logstash/tags/?page_size=100" \
| jq -r ".results[].name" \
| grep "^[0-9][0-9]*\.[0-9][0-9]*\.[0-9][0-9]*$" \
| sed "s/\.[0-9]*$//" \
| awk '!/rc|beta|alpha/' \
| sort -V | uniq
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-7.17.0-linux-x86_64.tar.gz" -O logstash-7.17.0.tar.gz && gzip -t logstash-7.17.0.tar.gz 2>/dev/null && tar -tzf logstash-7.17.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 7.17.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 7.17.0 after 3 attempts" >&2 || rm -f logstash-7.17.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.0.0-linux-x86_64.tar.gz" -O logstash-8.0.0.tar.gz && gzip -t logstash-8.0.0.tar.gz 2>/dev/null && tar -tzf logstash-8.0.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.0.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.0.0 after 3 attempts" >&2 || rm -f logstash-8.0.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.1.0-linux-x86_64.tar.gz" -O logstash-8.1.0.tar.gz && gzip -t logstash-8.1.0.tar.gz 2>/dev/null && tar -tzf logstash-8.1.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.1.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.1.0 after 3 attempts" >&2 || rm -f logstash-8.1.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.2.0-linux-x86_64.tar.gz" -O logstash-8.2.0.tar.gz && gzip -t logstash-8.2.0.tar.gz 2>/dev/null && tar -tzf logstash-8.2.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.2.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.2.0 after 3 attempts" >&2 || rm -f logstash-8.2.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.3.0-linux-x86_64.tar.gz" -O logstash-8.3.0.tar.gz && gzip -t logstash-8.3.0.tar.gz 2>/dev/null && tar -tzf logstash-8.3.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.3.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.3.0 after 3 attempts" >&2 || rm -f logstash-8.3.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.4.0-linux-x86_64.tar.gz" -O logstash-8.4.0.tar.gz && gzip -t logstash-8.4.0.tar.gz 2>/dev/null && tar -tzf logstash-8.4.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.4.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.4.0 after 3 attempts" >&2 || rm -f logstash-8.4.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.5.0-linux-x86_64.tar.gz" -O logstash-8.5.0.tar.gz && gzip -t logstash-8.5.0.tar.gz 2>/dev/null && tar -tzf logstash-8.5.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.5.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.5.0 after 3 attempts" >&2 || rm -f logstash-8.5.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.6.0-linux-x86_64.tar.gz" -O logstash-8.6.0.tar.gz && gzip -t logstash-8.6.0.tar.gz 2>/dev/null && tar -tzf logstash-8.6.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.6.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.6.0 after 3 attempts" >&2 || rm -f logstash-8.6.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.7.0-linux-x86_64.tar.gz" -O logstash-8.7.0.tar.gz && gzip -t logstash-8.7.0.tar.gz 2>/dev/null && tar -tzf logstash-8.7.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.7.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.7.0 after 3 attempts" >&2 || rm -f logstash-8.7.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.8.0-linux-x86_64.tar.gz" -O logstash-8.8.0.tar.gz && gzip -t logstash-8.8.0.tar.gz 2>/dev/null && tar -tzf logstash-8.8.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.8.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.8.0 after 3 attempts" >&2 || rm -f logstash-8.8.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.9.0-linux-x86_64.tar.gz" -O logstash-8.9.0.tar.gz && gzip -t logstash-8.9.0.tar.gz 2>/dev/null && tar -tzf logstash-8.9.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.9.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.9.0 after 3 attempts" >&2 || rm -f logstash-8.9.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.10.0-linux-x86_64.tar.gz" -O logstash-8.10.0.tar.gz && gzip -t logstash-8.10.0.tar.gz 2>/dev/null && tar -tzf logstash-8.10.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.10.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.10.0 after 3 attempts" >&2 || rm -f logstash-8.10.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.11.0-linux-x86_64.tar.gz" -O logstash-8.11.0.tar.gz && gzip -t logstash-8.11.0.tar.gz 2>/dev/null && tar -tzf logstash-8.11.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.11.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.11.0 after 3 attempts" >&2 || rm -f logstash-8.11.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.12.0-linux-x86_64.tar.gz" -O logstash-8.12.0.tar.gz && gzip -t logstash-8.12.0.tar.gz 2>/dev/null && tar -tzf logstash-8.12.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.12.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.12.0 after 3 attempts" >&2 || rm -f logstash-8.12.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.13.0-linux-x86_64.tar.gz" -O logstash-8.13.0.tar.gz && gzip -t logstash-8.13.0.tar.gz 2>/dev/null && tar -tzf logstash-8.13.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.13.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.13.0 after 3 attempts" >&2 || rm -f logstash-8.13.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.14.0-linux-x86_64.tar.gz" -O logstash-8.14.0.tar.gz && gzip -t logstash-8.14.0.tar.gz 2>/dev/null && tar -tzf logstash-8.14.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.14.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.14.0 after 3 attempts" >&2 || rm -f logstash-8.14.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.15.0-linux-x86_64.tar.gz" -O logstash-8.15.0.tar.gz && gzip -t logstash-8.15.0.tar.gz 2>/dev/null && tar -tzf logstash-8.15.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.15.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.15.0 after 3 attempts" >&2 || rm -f logstash-8.15.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.16.0-linux-x86_64.tar.gz" -O logstash-8.16.0.tar.gz && gzip -t logstash-8.16.0.tar.gz 2>/dev/null && tar -tzf logstash-8.16.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.16.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.16.0 after 3 attempts" >&2 || rm -f logstash-8.16.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.17.0-linux-x86_64.tar.gz" -O logstash-8.17.0.tar.gz && gzip -t logstash-8.17.0.tar.gz 2>/dev/null && tar -tzf logstash-8.17.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.17.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.17.0 after 3 attempts" >&2 || rm -f logstash-8.17.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-8.18.0-linux-x86_64.tar.gz" -O logstash-8.18.0.tar.gz && gzip -t logstash-8.18.0.tar.gz 2>/dev/null && tar -tzf logstash-8.18.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 8.18.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 8.18.0 after 3 attempts" >&2 || rm -f logstash-8.18.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
for i in {1..3}; do wget -q --timeout=60 --tries=1 "https://artifacts.elastic.co/downloads/logstash/logstash-9.0.0-linux-x86_64.tar.gz" -O logstash-9.0.0.tar.gz && gzip -t logstash-9.0.0.tar.gz 2>/dev/null && tar -tzf logstash-9.0.0.tar.gz | grep -q "bin/logstash" && { echo "✓ Logstash 9.0.0 downloaded successfully"; break; } || { [ $i -eq 3 ] && echo "✗ Failed to download Logstash 9.0.0 after 3 attempts" >&2 || rm -f logstash-9.0.0.tar.gz >/dev/null 2>&1; sleep 2; }; done
––– output –––
OK
––– input –––
cat << 'EOF' > /tmp/logstash-single-test.sh
#!/bin/bash
set -euo pipefail

# Проверка аргумента с версией
if [ $# -ne 1 ]; then
    echo "✗ Usage: $0 <logstash_version>" >&2
    echo "✗ Example: $0 8.14" >&2
    exit 1
fi

VERSION="$1"
LOG_DIR="/var/log"
LOGSTASH_LOG="$LOG_DIR/logstash.log"
TEMP_DATA_DIR="/tmp/logstash_test_${VERSION}"
TEST_LOG="/var/log/dpkg.log"

# Очистка перед запуском
killall -9 java logstash ruby 2>/dev/null || true
sleep 2

# Очистка временных директорий
rm -rf "$TEMP_DATA_DIR" 2>/dev/null || true
mkdir -p "$TEMP_DATA_DIR"
chmod 777 "$TEMP_DATA_DIR"

rm -f "$LOGSTASH_LOG"
touch "$LOGSTASH_LOG"
chmod 644 "$LOGSTASH_LOG"

# Заголовок теста
echo ">>> Testing Logstash version: $VERSION"

# Создание тестового лога
echo -e "2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>\n2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>\n2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1\n2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9\n2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9" > "$TEST_LOG"
chmod 644 "$TEST_LOG"

# Проверка количества строк в логе
log_lines=$(wc -l < "$TEST_LOG")
if [ "$log_lines" -eq 5 ]; then
    echo "✓ Log file has 5 lines"
else
    echo "✗ Error: Expected 5 lines, got $log_lines" >&2
    exit 1
fi

# Проверка доступности Manticore Search
if curl -s localhost:9308/cli_json -d 'show status' > /dev/null; then
    echo "✓ Manticore Search available"
else
    echo "✗ Error: Manticore Search unavailable" >&2
    exit 1
fi

# Создание таблицы в Manticore
mysql -h0 -P9306 -e "DROP TABLE IF EXISTS dpkg_log" > /dev/null 2>&1
mysql -h0 -P9306 -e "CREATE TABLE dpkg_log (id bigint, message string attribute indexed, host string attribute indexed, path string attribute indexed, \`@version\` string attribute indexed, \`@timestamp\` timestamp)" > /dev/null 2>&1 || {
    echo "✗ Error: Failed to create table dpkg_log" >&2
    exit 1
}

# Создание директории и символической ссылки для запуска нужной версии
# Убедимся, что директории существуют
if [ ! -d "/usr/share/logstash" ]; then
    mkdir -p /usr/share/logstash
fi

# Проверяем, что версия Logstash существует и распакована
if [ ! -d "/usr/share/logstash/logstash-${VERSION}.0" ]; then
    # Ищем архив и распаковываем его
    if [ -f "logstash-${VERSION}.0.tar.gz" ]; then
        tar -xzf "logstash-${VERSION}.0.tar.gz" -C /usr/share/logstash/ > /dev/null 2>&1
    elif [ -f "/tmp/logstash-${VERSION}.0.tar.gz" ]; then
        tar -xzf "/tmp/logstash-${VERSION}.0.tar.gz" -C /usr/share/logstash/ > /dev/null 2>&1
    else
        echo "✗ Error: Logstash $VERSION archive not found" >&2
        exit 1
    fi
fi

# Создание символической ссылки
if [ -f "/usr/share/logstash/logstash-${VERSION}.0/bin/logstash" ]; then
    ln -sf "/usr/share/logstash/logstash-${VERSION}.0/bin/logstash" /usr/bin/logstash > /dev/null 2>&1
else
    echo "✗ Error: Logstash $VERSION binary not found" >&2
    exit 1
fi

# Определение версионных параметров
version_major=$(echo "$VERSION" | cut -d. -f1)
version_minor=$(echo "$VERSION" | cut -d. -f2)

# ECS совместимость доступна с версии 7.5+
ecs_args=""
if [ "$version_major" -gt 7 ] || ([ "$version_major" -eq 7 ] && [ "$version_minor" -ge 5 ]); then
    ecs_args="--pipeline.ecs_compatibility v1"
fi

# Настройки для elasticsearch output в зависимости от версии
ilm_settings=""

# Настройки для версии 8.0+
if [ "$version_major" -ge 8 ]; then
    ilm_settings="ilm_enabled => false
    manage_template => false"
fi

# Создание конфигурации Logstash
CONFIG_FILE="/tmp/logstash_config_${VERSION}.conf"
cat > "$CONFIG_FILE" << CONF
input {
  file {
    path => ["$TEST_LOG"]
    start_position => "beginning"
    sincedb_path => "/dev/null"
    mode => "read"
  }
}
filter {
  mutate {
    replace => {
      "@version" => "1"
      "host" => "logstash"
      "path" => "$TEST_LOG"
    }
    remove_field => ["event", "log"]
  }
  ruby {
    code => "event.set('id', (Time.now.to_f * 1000000).to_i)"
  }
}
output {
  elasticsearch {
    hosts => ["http://localhost:9308"]
    index => "dpkg_log"
    action => "index"
    timeout => 30
    $ilm_settings
  }
}
CONF

# Параметры для запуска Logstash
batch_size=10

# Дополнительные опции JVM
export LS_JAVA_OPTS="-Xms256m -Xmx512m"

# Определение времени ожидания в зависимости от версии
wait_time=60

# Запуск Logstash
timeout $wait_time logstash --path.data="$TEMP_DATA_DIR" \
  -f "$CONFIG_FILE" \
  --log.level=error \
  --pipeline.batch.size $batch_size \
  $ecs_args \
  > /dev/null 2>&1 || true

# Дополнительное ожидание для завершения индексации
sleep 10

echo "✓ Logstash $VERSION started and processed logs"

# Проверка количества записей
row_count=$(mysql -h0 -P9306 -N -B -e "SELECT COUNT(*) FROM dpkg_log" | grep -o '[0-9]\+' || echo "0")
if [ "$row_count" -eq 5 ]; then
    echo "✓ Row count check for $VERSION: $row_count rows"
else
    echo "✗ Error: Expected 5 rows, got $row_count" >&2
    mysql -h0 -P9306 -e "SELECT * FROM dpkg_log\G" >&2
    exit 1
fi

# Проверка структуры таблицы
structure_ok=true
for field in "id" "message" "host" "path" "@version" "@timestamp"; do
    if ! mysql -h0 -P9306 -N -B -e "SELECT $field FROM dpkg_log LIMIT 1" > /dev/null 2>&1; then
        structure_ok=false
        echo "✗ Error: Field '$field' check failed" >&2
        break
    fi
done

if $structure_ok; then
    echo "✓ Structure check for $VERSION: passed"
else
    echo "✗ Error: Structure check failed" >&2
    mysql -h0 -P9306 -e "DESCRIBE dpkg_log" >&2
    exit 1
fi

echo "✓ Logstash version $VERSION tested successfully"

# Очистка временных файлов
rm -f "$CONFIG_FILE" "$TEST_LOG" > /dev/null 2>&1
EOF
––– output –––
OK
––– input –––
chmod +x /tmp/logstash-single-test.sh; echo $?
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 7.17
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.0
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.1
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.2
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.3
––– output –––
- ✓ Row count check for 8.3: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.3: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.3 tested successfully
+         id: 1748304273350786
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304273
+ *************************** 2. row ***************************
+         id: 1748304273347556
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304273
+ *************************** 3. row ***************************
+         id: 1748304273345771
+    message: 2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304273
+ *************************** 4. row ***************************
+         id: 1748304273348039
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304273
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.4
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.5
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.6
––– output –––
- ✓ Row count check for 8.6: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.6: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.6 tested successfully
+         id: 1748304502514616
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304502
+ *************************** 2. row ***************************
+         id: 1748304502515518
+    message: 2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304502
+ *************************** 3. row ***************************
+         id: 1748304502515670
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304502
+ *************************** 4. row ***************************
+         id: 1748304502515178
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304502
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.7
––– output –––
- ✓ Row count check for 8.7: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.7: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.7 tested successfully
+         id: 1748304579321157
+    message: 2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304579
+ *************************** 2. row ***************************
+         id: 1748304579320786
+    message: 2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304579
+ *************************** 3. row ***************************
+         id: 1748304579321163
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304579
+ *************************** 4. row ***************************
+         id: 1748304579321562
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304579
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.8
––– output –––
- ✓ Row count check for 8.8: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.8: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.8 tested successfully
+         id: 1748304657607520
+    message: 2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304657
+ *************************** 2. row ***************************
+         id: 1748304657607404
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304657
+ *************************** 3. row ***************************
+         id: 1748304657607555
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304657
+ *************************** 4. row ***************************
+         id: 1748304657607668
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304657
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.9
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.10
––– output –––
- ✓ Row count check for 8.10: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.10: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.10 tested successfully
+         id: 1748304814961816
+    message: 2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304814
+ *************************** 2. row ***************************
+         id: 1748304814961161
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304814
+ *************************** 3. row ***************************
+         id: 1748304814961094
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304814
+ *************************** 4. row ***************************
+         id: 1748304814961983
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748304814
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.11
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.12
––– output –––
OK
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.13
––– output –––
- ✓ Row count check for 8.13: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.13: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.13 tested successfully
+         id: 1748305049405454
+    message: 2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748305049
+ *************************** 2. row ***************************
+         id: 1748305049406453
+    message: 2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748305049
+ *************************** 3. row ***************************
+         id: 1748305049406603
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748305049
+ *************************** 4. row ***************************
+         id: 1748305049405682
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748305049
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.14
––– output –––
- ✓ Row count check for 8.14: 5 rows
+ ✗ Error: Expected 5 rows, got 3
- ✓ Structure check for 8.14: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.14 tested successfully
+         id: 1748305128207808
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748305128
+ *************************** 2. row ***************************
+         id: 1748305128208304
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748305128
+ *************************** 3. row ***************************
+         id: 1748305128208051
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748305128
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.15
––– output –––
- ✓ Row count check for 8.15: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.15: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.15 tested successfully
+         id: 1748305206792282
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748305206
+ *************************** 2. row ***************************
+         id: 1748305206791897
+    message: 2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748305206
+ *************************** 3. row ***************************
+         id: 1748305206791813
+    message: 2023-05-31 10:42:52 trigproc libc-bin:amd64 2.31-0ubuntu9.9 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748305206
+ *************************** 4. row ***************************
+         id: 1748305206792055
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748305206
––– input –––
timeout 300 bash /tmp/logstash-single-test.sh 8.18
––– output –––
- ✓ Row count check for 8.18: 5 rows
+ ✗ Error: Expected 5 rows, got 4
- ✓ Structure check for 8.18: passed
+ *************************** 1. row ***************************
- ✓ Logstash version 8.18 tested successfully
+         id: 1748305287428577
+    message: 2023-05-31 10:42:53 status triggers-awaited ca-certificates-java:all 20190405ubuntu1.1
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748305287
+ *************************** 2. row ***************************
+         id: 1748305287429163
+    message: 2023-05-31 10:42:51 trigproc systemd:amd64 245.4-4ubuntu3.21 <none>
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748305287
+ *************************** 3. row ***************************
+         id: 1748305287428280
+    message: 2023-05-31 10:42:54 status installed libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748305287
+ *************************** 4. row ***************************
+         id: 1748305287429276
+    message: 2023-05-31 10:42:55 status half-configured libc-bin:amd64 2.31-0ubuntu9.9
+       host: logstash
+       path: /var/log/dpkg.log
+   @version: 1
+ @timestamp: 1748305287
––– input –––
rm -f logstash-*.tar.gz
––– output –––
OK

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant