Skip to content

Downtime #598

@mmbfreitas

Description

@mmbfreitas

PGSync version:
2.3.2, 3.3.0, 4.0.0 (i tested all this versions)
Postgres version:
14.13 (RDS)
Elasticsearch version:
8.3.2
Redis version:
Redis server v=6.0.16
Python version:
Python 3.10.12
.env
ELASTICSEARCH_SCHEME=http
ELASTICSEARCH_HOST=172.17.1.188
ELASTICSEARCH_PORT=9200
CONSOLE_LOGGING_HANDLER_MIN_LEVEL=WARNING
ELASTICSEARCH_SSL_SHOW_WARN=False
ELASTICSEARCH_USE_SSL=False
REDIS_HOST=localhost
REDIS_DB=1
ELASTICSEARCH_CHUNK_SIZE=500
REDIS_READ_CHUNK_SIZE=500
REDIS_WRITE_CHUNK_SIZE=500
REPLICATION_SLOT_CLEANUP_INTERVAL=180
REDIS_SOCKET_TIMEOUT=60
ELASTICSEARCH_TIMEOUT=60
QUERY_CHUNK_SIZE=500
USE_ASYNC=True

  • I have tried a lot of variation of this .env increase and decrease chunks value and nothing solved

Problem Description:

My index in Elastic has about 2500000 rows (2.7 GB) and sometimes it starts writing a lot even with not that many changes and simply stops the service or Redis number starts growing forever (even LLEN with 0)

also every time i need to bootstrap for testing it takes me 30 minutes to reindex

Something I noticed, but I don't know if it has anything to do with the case, is that has a lot scroll actions on pgsync debug log and creating many small segments in the index.

Any suggestion?

schema.json

[
{
"database": "dbname",
"index": "index1",
"setting": {
"analysis": {
"normalizer": {
"case_insensitive": {
"filter": "lowercase"
}
}
}
},
"nodes": {
"table": "table1",
"columns": [
columns
],
"transform": {
"mapping": {
"description": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"normalizer": "case_insensitive"
}
}
},
"price": {
"type": "double"
},
"percentage": {
"type": "double"
}
}
},
"children": [
{
"table": "table2",
"columns": [
"columns
],
"transform": {
"mapping": {
"name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"normalizer": "case_insensitive"
}
}
},
"tags": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword"
}
}
},
"value": {
"type": "double"
}
}
},
"relationship": {
"variant": "object",
"type": "one_to_one"
},
"children": [
{
"table": "table3",
"columns": [
colums
],
"relationship": {
"type": "one_to_many",
"variant": "object"
},
"transform": {
"mapping": {
"number": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"normalizer": "case_insensitive"
}
}
}
}
}
},
{
"table": "table4",
"columns": [columns],
"transform": {
"mapping": {
"name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"normalizer": "case_insensitive"
}
}
}
}
},
"relationship": {
"variant": "object",
"type": "one_to_one"
}
},
{
"table": "table5",
"columns": [columns],
"transform": {
"mapping": {
"name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword",
"normalizer": "case_insensitive"
}
}
}
}
},
"relationship": {
"variant": "object",
"type": "one_to_one"
}
},
{
"table": "table6",
"columns": [columns],
"relationship": {
"variant": "object",
"type": "one_to_one"
}
},
{
"table": "table7",
"columns": [columns],
"relationship": {
"variant": "object",
"type": "one_to_one"
}
},
{
"table": "table8",
"columns": [columns],
"relationship": {
"variant": "object",
"type": "one_to_one"
}
}
]
},
{
"table": "table9",
"columns": [columns],
"relationship": {
"variant": "object",
"type": "one_to_one"
}
},
{
"table": "table10",
"columns": [columns],
"relationship": {
"variant": "object",
"type": "one_to_one"
}
},
{
"table": "table11",
"columns": [columns],
"relationship": {
"variant": "object",
"type": "one_to_one"
}
}
]
}
}
]

@toluaina can you help me? i have sent a message on discord to you too.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions