Skip to content

Executing term change block took too much time #1993

Open

Description

@majecty

In the Corgi network, executing term change block took too much time.

I copied the log from a Corgi node. Blocks Verifier #1's log message. "Blocks Verifier #1" thread does not print any log between two add_balance log. The gap is more than a second.

#164574181 2020-08-26 14:00:03.561690513 UTC Blocks Verifier #1 TRACE state  add_balance(0x263b…fcb1, 0): 1029374756
#164574181 2020-08-26 14:00:05.957492963 UTC Blocks Verifier #1 TRACE state  add_balance(0x6850…65e1, 2160): 1050470102

We can find this situation very frequently in Corgi. About 10 times in a day. It appears only in the term closing blocks.

The reason is that CodeChain reads all header in DB generated in a term. It is about 1000 headers.

Activity

  1. majecty commented on Oct 5, 2020

    @majecty
    Author

    Now we can regenerate the performance issue using ./codechain-debug execute-block -n 4649250 -d ./corgi_db/db.
    Executing block 4649250 takes 410ms.
    Executing block 4649251 takes 9ms.

    #1988

  2. majecty commented on Oct 8, 2020

    @majecty
    Author

    I found the cause of the slow issue.

    Between two add_balance call, CodeChain was reading headers that generated in a term. It's about 1000 headers in the Corgi network.

  3. changed the title [-]`add_balance` took much time[/-] [+]Executing term change block took too much time[/+] on Oct 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions