Skip to content
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

eth_getFilterChanges not working since 1.4.x and --auto-log-bloom-caching-enabled=true #473

Closed
Ferparishuertas opened this issue Mar 16, 2020 · 8 comments · Fixed by #609
Assignees
Labels
bug Something isn't working

Comments

@Ferparishuertas
Copy link

Description

As an Besu user, i want to be able to get filter changes even if loog bloo filters are activated from cli

Acceptance Criteria

  • I create a filter via eth_newFilter, obtain historic logs til now via eth_getFilterLogs and with eth_get FilterChanges i sync up for new events

Steps to Reproduce (Bug)

  1. Startup besu node, with --auto-log-bloom-caching-enabled=false
  2. create after a whilt of transactions a newFIlter
  3. obtain past logs via eth_getFilterLogs
  4. I never get sunced with new events perhaps they are happening

Versions (Add all that apply)

  • Software version: 1.4.x

Additional Information

On Pegasys jira we opened the root base for the bloom filter inception at PAN-3245. Now this is not working.
Reviewing open issues we thought 1.4.1 fixed issue #438, could help but is not working.

Maybe this is related to this issue and we need to give it try. Please let us know
https://jira.hyperledger.org/projects/BESU/issues/BESU-169?filter=allopenissues

Impact

Any company using consensys/eventeum will not be able to get events. iobuilders has falled back to 1.3.9.

Kind regards

@abdelhamidbakhta
@shemnon

@Ferparishuertas
Copy link
Author

Its also important to know which are the server requirements after this new flag auto-log--

We have increased our SSD disco on AWS to 5000 IOPS to reduce IOWAIT, and we needed to increase the machine to 8gb mem and 4 cores to allow indexing and receiving blocks, because if not, node stopped receiving blocks.

@timbeiko timbeiko added the bug Something isn't working label Mar 16, 2020
@rranjan3
Copy link

I am also facing this with Besu docker 1.4. Do not get any results for eth_getFilterChanges over RPC. Trying local workarounds with eth_getFilterLogs.

rranjan3 added a commit to rranjan3/avalon that referenced this issue Mar 18, 2020
- Downgrade Besu version to 1.3.9. There appears to be some
  defect in Besu 1.4 onwards around eth_getFilterChanges -
  hyperledger/besu#473. Reverting
  to dot release 1.3.9 does not show the issue.
- Remove JRPC event handling
- Minor bug fix in event formatting
- Remove redundant library eth-abi from Dockerfile

Signed-off-by: Rajeev Ranjan <[email protected]>
rranjan3 added a commit to rranjan3/avalon that referenced this issue Mar 18, 2020
- Downgrade Besu version to 1.3.9. There appears to be some
  defect in Besu 1.4 onwards around eth_getFilterChanges -
  hyperledger/besu#473. Reverting to dot release 1.3.9
  does not show the issue.
- Remove JRPC event handling
- Minor bug fix in event formatting
- Remove redundant library eth-abi from Dockerfile

Signed-off-by: Rajeev Ranjan <[email protected]>
@timbeiko timbeiko added this to the Chupacabra Sprint 61 milestone Mar 18, 2020
@timbeiko
Copy link
Contributor

Thanks for the detailed report! We'll be looking at this in more detail over the next few weeks.

rranjan3 added a commit to rranjan3/avalon that referenced this issue Mar 19, 2020
- Downgrade Besu version to 1.3.9. There appears to be some
  defect in Besu 1.4 onwards around eth_getFilterChanges -
  hyperledger/besu#473. Reverting to dot release 1.3.9
  does not show the issue.
- Remove JRPC event handling
- Minor bug fix in event formatting
- Remove redundant library eth-abi from Dockerfile

Signed-off-by: Rajeev Ranjan <[email protected]>
rranjan3 added a commit to rranjan3/avalon that referenced this issue Mar 20, 2020
- Downgrade Besu version to 1.3.9. There appears to be some
  defect in Besu 1.4 onwards around eth_getFilterChanges -
  hyperledger/besu#473. Reverting to dot release 1.3.9
  does not show the issue.
- Remove JRPC event handling
- Minor bug fix in event formatting
- Remove redundant library eth-abi from Dockerfile

Signed-off-by: Rajeev Ranjan <[email protected]>
manojgop pushed a commit to hyperledger-archives/avalon that referenced this issue Mar 20, 2020
- Downgrade Besu version to 1.3.9. There appears to be some
  defect in Besu 1.4 onwards around eth_getFilterChanges -
  hyperledger/besu#473. Reverting to dot release 1.3.9
  does not show the issue.
- Remove JRPC event handling
- Minor bug fix in event formatting
- Remove redundant library eth-abi from Dockerfile

Signed-off-by: Rajeev Ranjan <[email protected]>
shemnon added a commit to shemnon/besu that referenced this issue Mar 27, 2020
If we detect an EOF for the cache file switch over to an uncached query.

This is typically seen when filling a log filter and the new block has
not yet written out the log bloom cache to disk.  Fixed hyperledger#473

Signed-off-by: Danno Ferrin <[email protected]>
shemnon added a commit that referenced this issue Mar 29, 2020
If we detect an EOF for the cache file switch over to an uncached query.

This is typically seen when filling a log filter and the new block has
not yet written out the log bloom cache to disk.  Fixed #473

Signed-off-by: Danno Ferrin <[email protected]>
@shemnon
Copy link
Contributor

shemnon commented Mar 29, 2020

This should be released in 1.4.3, near the end of next week (8-9 April or thereabouts). Or you can try the dev releases (hyperledger/besu:1.4.3-SNAPSHOT) in the interim to validate.

@Ferparishuertas
Copy link
Author

Ferparishuertas commented Mar 29, 2020 via email

@Ferparishuertas
Copy link
Author

Ferparishuertas commented Apr 9, 2020

Works like a charm!

One suggestion. Due that node sometimes, stops receiving blocks until all chain is indexed, i think its worth to add this advice to documentation.

kind regards

@Ferparishuertas
Copy link
Author

Ferparishuertas commented Apr 10, 2020

Another suggestion came through, due the the time spent caching the whole history and raising high iowait peaks, close to 50%.
We solved it on aws, changing form gp2 (up to 3000 IOPS), to a 5000 fully dedicated iops disk (which is no really cheap), during the sync.

We suggest to add a cpu, and iowait recommendation in case of cache activation, and highlight full chain cache performance

We are almost sure, that this performance bottleneck is the root cuase of nor receiving blocks and focus only on caching.

2020-04-10 09:22:08.706+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching segment at 4300000
2020-04-10 09:23:10.490+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching request complete
2020-04-10 09:23:10.490+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Generating transaction log bloom cache from block 4200000 to block 4300000 in /var/lib/pantheon/caches
2020-04-10 09:23:10.492+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching segment at 4200000
2020-04-10 09:24:12.739+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching request complete
2020-04-10 09:24:12.740+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Generating transaction log bloom cache from block 4100000 to block 4200000 in /var/lib/pantheon/caches
2020-04-10 09:24:12.740+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching segment at 4100000
2020-04-10 09:25:15.125+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching request complete
2020-04-10 09:25:15.126+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Generating transaction log bloom cache from block 4000000 to block 4100000 in /var/lib/pantheon/caches
2020-04-10 09:25:15.127+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching segment at 4000000
2020-04-10 09:26:16.639+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching request complete
2020-04-10 09:26:16.639+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Generating transaction log bloom cache from block 3900000 to block 4000000 in /var/lib/pantheon/caches
2020-04-10 09:26:16.639+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching segment at 3900000
2020-04-10 09:27:18.308+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching request complete
2020-04-10 09:27:18.309+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Generating transaction log bloom cache from block 3800000 to block 3900000 in /var/lib/pantheon/caches
2020-04-10 09:27:18.310+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching segment at 3800000
2020-04-10 09:28:20.638+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching request complete
2020-04-10 09:28:20.638+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Generating transaction log bloom cache from block 3700000 to block 3800000 in /var/lib/pantheon/caches
2020-04-10 09:28:20.638+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching segment at 3700000
2020-04-10 09:29:21.544+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching request complete
2020-04-10 09:29:21.544+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Generating transaction log bloom cache from block 3600000 to block 3700000 in /var/lib/pantheon/caches
2020-04-10 09:29:21.544+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching segment at 3600000
2020-04-10 09:30:23.565+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching request complete
2020-04-10 09:30:23.566+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Generating transaction log bloom cache from block 3500000 to block 3600000 in /var/lib/pantheon/caches
2020-04-10 09:30:23.566+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching segment at 3500000
2020-04-10 09:31:26.176+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching request complete
2020-04-10 09:31:26.176+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Generating transaction log bloom cache from block 3400000 to block 3500000 in /var/lib/pantheon/caches
2020-04-10 09:31:26.176+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching segment at 3400000
2020-04-10 09:32:28.486+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching request complete
2020-04-10 09:32:28.486+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Generating transaction log bloom cache from block 3300000 to block 3400000 in /var/lib/pantheon/caches
2020-04-10 09:32:28.487+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching segment at 3300000
2020-04-10 09:33:30.635+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching request complete
2020-04-10 09:33:30.635+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Generating transaction log bloom cache from block 3200000 to block 3300000 in /var/lib/pantheon/caches
2020-04-10 09:33:30.635+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching segment at 3200000
2020-04-10 09:34:32.013+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching request complete
2020-04-10 09:34:32.014+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Generating transaction log bloom cache from block 3100000 to block 3200000 in /var/lib/pantheon/caches
2020-04-10 09:34:32.014+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching segment at 3100000
2020-04-10 09:35:35.684+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Caching request complete
2020-04-10 09:35:35.684+00:00 | EthScheduler-Timer-0 | INFO | TransactionLogBloomCacher | Generating transaction log bloom cache from block 3000000 to block 3100000 in /var/lib/pantheon/caches
2020-04

kind regards

rranjan3 added a commit to rranjan3/avalon that referenced this issue Apr 13, 2020
- Update Besu to version 1.4.3 where event bug(hyperledger/besu#473) is fixed
- Minor document fix

Signed-off-by: Rajeev Ranjan <[email protected]>
rranjan3 added a commit to rranjan3/avalon that referenced this issue Apr 13, 2020
- Update Besu to version 1.4.3 where event bug(hyperledger/besu#473) is fixed
- Minor document fix

Signed-off-by: Rajeev Ranjan <[email protected]>
@rranjan3
Copy link

Awesome!!. Thanks for fixing it so quick.

Ram-srini pushed a commit to hyperledger-archives/avalon that referenced this issue Apr 14, 2020
- Update Besu to version 1.4.3 where event bug(hyperledger/besu#473) is fixed
- Minor document fix

Signed-off-by: Rajeev Ranjan <[email protected]>
karthikamurthy pushed a commit to karthikamurthy/avalon-sdk-py that referenced this issue Oct 29, 2020
- Downgrade Besu version to 1.3.9. There appears to be some
  defect in Besu 1.4 onwards around eth_getFilterChanges -
  hyperledger/besu#473. Reverting to dot release 1.3.9
  does not show the issue.
- Remove JRPC event handling
- Minor bug fix in event formatting
- Remove redundant library eth-abi from Dockerfile

Signed-off-by: Rajeev Ranjan <[email protected]>
karthikamurthy pushed a commit to karthikamurthy/avalon-sdk-py that referenced this issue Oct 29, 2020
- Downgrade Besu version to 1.3.9. There appears to be some
  defect in Besu 1.4 onwards around eth_getFilterChanges -
  hyperledger/besu#473. Reverting to dot release 1.3.9
  does not show the issue.
- Remove JRPC event handling
- Minor bug fix in event formatting
- Remove redundant library eth-abi from Dockerfile

Signed-off-by: Rajeev Ranjan <[email protected]>
karthikamurthy pushed a commit to karthikamurthy/avalon-sdk-py that referenced this issue Oct 29, 2020
- Downgrade Besu version to 1.3.9. There appears to be some
  defect in Besu 1.4 onwards around eth_getFilterChanges -
  hyperledger/besu#473. Reverting to dot release 1.3.9
  does not show the issue.
- Remove JRPC event handling
- Minor bug fix in event formatting
- Remove redundant library eth-abi from Dockerfile

Signed-off-by: Rajeev Ranjan <[email protected]>
karthikamurthy pushed a commit to hyperledger-labs/avalon-sdk-py that referenced this issue Nov 11, 2020
- Downgrade Besu version to 1.3.9. There appears to be some
  defect in Besu 1.4 onwards around eth_getFilterChanges -
  hyperledger/besu#473. Reverting to dot release 1.3.9
  does not show the issue.
- Remove JRPC event handling
- Minor bug fix in event formatting
- Remove redundant library eth-abi from Dockerfile

Signed-off-by: Rajeev Ranjan <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants