-
Bug
-
Resolution: Done
-
Undefined
-
Logging 5.5.0
-
None
-
False
-
-
False
-
Logging
-
NEW
-
VERIFIED
-
Logging (LogExp) - Sprint 216, Logging (LogExp) - Sprint 218, Logging (LogExp) - Sprint 219, Logging (LogExp) - Sprint 220
Description of problem:
The write index is removed when `the size of the index` > `diskThresholdPercent% * total size`, and the index management job fails with below error:
$ oc logs elasticsearch-im-app-27481395-mlqf5 ======================== Index management delete process starting for app indices = [{"app-000006": {"settings": {"index": {"creation_date": "1648881917870"}}}, "app-000004": {"settings": {"index": {"creation_date": "1648880112384"}}}, "app-000005": {"settings": {"index": {"creation_date": "1648881016385"}}}, "app-000003": {"settings": {"index": {"creation_date": "1648879212096"}}}}] Index app-000006 deleted Index app-000004 deleted Index app-000003 deleted True No indices to delete ======================== Index management rollover process starting for app Current write index for app-write: /tmp/scripts/indexManagementClient.py:97: ElasticsearchDeprecationWarning: [types removal] The parameter include_type_name should be explicitly specified in rollover requests to prepare for 7.0. In 7.0 include_type_name will default to 'false', which means requests must omit the type name in mapping definitions. response = es_client.indices.rollover(alias=alias, body=decoded) Checking results from _rollover call Calculating next write index based on current write index... Next write index for app-write: -000001 Checking if -000001 exists /tmp/scripts/indexManagementClient.py:109: ElasticsearchDeprecationWarning: [types removal] The parameter include_type_name should be explicitly specified in get indices requests to prepare for 7.0. In 7.0 include_type_name will default to 'false', which means responses will omit the type name in mapping definitions. return es_client.indices.exists(index=index) cat: /tmp/response.txt: No such file or directory
Before the job running, the indices look like:
$ oc exec elasticsearch-cdm-bz12o5mh-1-5fc5b69f8f-ttrhg -- es_util --query=_cat/indices?v |grep app
Defaulted container "elasticsearch" out of: elasticsearch, proxy
green open app-000005 9aULOT9iRoq0PxY-TUCTKQ 3 1 1664508 0 2.6gb 1.3gb
green open app-000003 ChZCDRaEQDOP7sy0qYApew 3 1 1664142 0 2.6gb 1.3gb
green open app-000006 oOOW9pObQdeV5ABAIUJgag 3 1 3213237 0 6.2gb 3.1gb
green open app-000004 FhhCUaImSkurVv5IhT566g 3 1 1665241 0 2.6gb 1.3gb
after:
$ oc exec elasticsearch-cdm-bz12o5mh-1-5fc5b69f8f-ttrhg -- es_util --query=_cat/indices?v |grep app
Defaulted container "elasticsearch" out of: elasticsearch, proxy
green open app-000005 9aULOT9iRoq0PxY-TUCTKQ 3 1 1664508 0 2.6gb 1.3gb
ES configurations:
indexManagement:
mappings:
- aliases:
- app
- logs.app
name: app
policyRef: app-policy
- aliases:
- infra
- logs.infra
name: infra
policyRef: infra-policy
- aliases:
- audit
- logs.audit
name: audit
policyRef: audit-policy
policies:
- name: app-policy
phases:
delete:
diskThresholdPercent: 5
minAge: 12h
pruneNamespacesInterval: 30m
hot:
actions:
rollover:
maxAge: 15m
pollInterval: 15m
- name: infra-policy
phases:
delete:
diskThresholdPercent: 30
minAge: 12h
pruneNamespacesInterval: 30m
hot:
actions:
rollover:
maxAge: 15m
pollInterval: 15m
- name: audit-policy
phases:
delete:
minAge: 1d
pruneNamespacesInterval: 30m
hot:
actions:
rollover:
maxAge: 1h
pollInterval: 15m
managementState: Managed
nodeSpec:
proxyResources:
limits:
memory: 256Mi
requests:
cpu: 100m
memory: 256Mi
resources:
requests:
memory: 2Gi
nodes:
- genUUID: bz12o5mh
nodeCount: 3
proxyResources: {}
resources: {}
roles:
- client
- data
- master
storage:
size: 20Gi
storageClassName: gp2
redundancyPolicy: SingleRedundancy
Version-Release number of selected component (if applicable):
EO image: quay.io/openshift-logging/elasticsearch-operator@sha256:205178d9cc1229ad9393d94b2f769fa124ccd5cad373f3bcb7afc6726a64d2e4
How reproducible:
Always
Steps to Reproduce:
1. deploy logging, set logStore.elasticsearch.storage.size to 20Gi
2. enable percentage based index management, set `diskThresholdPercent: 5` for application logs(this need to set CL/instance to Unmanaged)
3. create some apps to generate logs, if the size of the write index > 1Gi, when the index management job running, the write index will be removed and no write index will be created.
Actual results:
Expected results:
Additional info: