bitshares / bitshares-core

BitShares Blockchain node and command-line wallet
https://bitshares.github.io/
Other
1.17k stars 649 forks source link

ES error: Limit of total fields [1000] has been exceeded #2612

Closed abitmore closed 2 years ago

abitmore commented 2 years ago

Bug Description

The develop branch is unable to sync if the es_objects plugin is enabled. Error message:

{"index":{"_index":"objects-proposal","_type":"_doc","_id":"1.10.69039","status":400,"error":{"type":"mapper_parsing_exception","reason":"failed to parse","caused_by":{"type":"illegal_argument_exception","reason":"Limit of total fields [1000] has been exceeded while adding new fields [11]"}}}}

It occurs on block 66225581. The operation that creates the proposal 1.10.69039 was

[22,{"fee":{"amount":991139,"asset_id":"1.3.0"},"fee_paying_account":"1.2.605792","expiration_time":"2022-02-18T07:32:57","proposed_ops":[{"op":[69,{"fee":{"amount":52501,"asset_id":"1.3.0"},"owner_account":"1.2.1802985","asset_type":"1.3.5883","balance":"10000000000","fee_rate":0,"max_duration_seconds":604800,"min_deal_amount":1000000,"enabled":true,"auto_disable_time":"2022-05-12T07:32:31","acceptable_collateral":[["1.3.5286",{"base":{"amount":1,"asset_id":"1.3.5883"},"quote":{"amount":10,"asset_id":"1.3.5286"}}],["1.3.5589",{"base":{"amount":1,"asset_id":"1.3.5883"},"quote":{"amount":1,"asset_id":"1.3.5589"}}]],"acceptable_borrowers":[],"extensions":[]}]}],"extensions":[]}]

According to ES docs(https://www.elastic.co/guide/en/elasticsearch/reference/7.17/mapping-settings-limit.html), the setting can be updated if really required,

index.mapping.total_fields.limit - The maximum number of fields in an index. Field and object mappings, as well as field aliases count towards this limit. The default value is 1000.

Impacts Describe which portion(s) of BitShares Core may be impacted by this bug. Please tick at least one box.

Steps To Reproduce Steps to reproduce the behavior (example outlined below):

  1. Execute API call '...'
  2. Using JSON payload '...'
  3. Received response '...'
  4. See error in screenshot

Expected Behavior A clear and concise description of what you expected to happen.

Screenshots (optional) If applicable, add screenshots to help explain process flow and behavior.

Host Environment Please provide details about the host environment. Much of this information can be found running: witness_node --version.

Additional Context (optional) Add any other context about the problem here.

CORE TEAM TASK LIST

abitmore commented 2 years ago

Addressed via #2616.