auction-keeper icon indicating copy to clipboard operation
auction-keeper copied to clipboard

Filter not found error

Open DarkShimy00 opened this issue 4 years ago • 5 comments

Hi,

Fresh install with Parity-Ethereum/v2.7.2-stable-2662d19-20200206/x86_64-unknown-linux-gnu/rustc1.41.0 (--no-warp --jsonrpc-apis all).

I'm getting the following error:

Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/home/user/auction-keeper/lib/pymaker/pymaker/lifecycle.py", line 353, in new_block_watch
    for event in event_filter.get_new_entries():
  File "/home/user/auction-keeper/_virtualenv/lib/python3.6/site-packages/web3/utils/filters.py", line 108, in get_new_entries
    log_entries = self._filter_valid_entries(self.web3.eth.getFilterChanges(self.filter_id))
  File "/home/user/auction-keeper/_virtualenv/lib/python3.6/site-packages/web3/eth.py", line 344, in getFilterChanges
    "eth_getFilterChanges", [filter_id],
  File "/home/user/auction-keeper/_virtualenv/lib/python3.6/site-packages/web3/manager.py", line 112, in request_blocking
    raise ValueError(response["error"])
ValueError: {'code': -32000, 'message': 'Filter not found'}

Traceback (most recent call last):
  File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/user/auction-keeper/auction_keeper/main.py", line 528, in <module>
    AuctionKeeper(sys.argv[1:]).main()
  File "/home/user/auction-keeper/auction_keeper/main.py", line 200, in main
    lifecycle.every(2, self.check_for_bids)
  File "/home/user/auction-keeper/lib/pymaker/pymaker/lifecycle.py", line 155, in __exit__
    self._main_loop()
  File "/home/user/auction-keeper/lib/pymaker/pymaker/lifecycle.py", line 477, in _main_loop
    if not all_filter_threads_alive():
  File "/home/user/auction-keeper/lib/pymaker/pymaker/__init__.py", line 55, in all_filter_threads_alive
    return all(filter_thread_alive(filter_thread) for filter_thread in filter_threads)
  File "/home/user/auction-keeper/lib/pymaker/pymaker/__init__.py", line 55, in <genexpr>
    return all(filter_thread_alive(filter_thread) for filter_thread in filter_threads)
  File "/home/user/auction-keeper/lib/pymaker/pymaker/__init__.py", line 61, in filter_thread_alive
    return hasattr(filter_thread, '_args') and hasattr(filter_thread, '_kwargs') or not filter_thread.running
AttributeError: 'Thread' object has no attribute 'running'

Output of Parity (with --l rpc=trace):

2020-03-09 14:26:44 UTC http.worker30 TRACE rpc  Request: {"jsonrpc": "2.0", "method": "eth_syncing", "params": [], "id": 288}.
2020-03-09 14:26:44 UTC http.worker30 DEBUG rpc  [Some(Num(288))] Took 80ms
2020-03-09 14:26:44 UTC http.worker30 DEBUG rpc  Response: {"jsonrpc":"2.0","result":false,"id":288}.
2020-03-09 14:26:46 UTC http.worker30 TRACE rpc  Request: {"jsonrpc": "2.0", "method": "eth_getLogs", "params": [{"address": ["0x35D1b3F3D7966A1DFe207aa4514C12a259A0492B"], "fromBlock": "0x883c0b", "toBlock": "0x930f8e"}], "id": 291}.
2020-03-09 14:26:49 UTC http.worker20 TRACE rpc  Request: {"jsonrpc": "2.0", "method": "eth_syncing", "params": [], "id": 292}.
2020-03-09 14:26:49 UTC http.worker20 DEBUG rpc  [Some(Num(292))] Took 111ms
2020-03-09 14:26:49 UTC http.worker20 DEBUG rpc  Response: {"jsonrpc":"2.0","result":false,"id":292}.
2020-03-09 14:26:49 UTC http.worker20 TRACE rpc  Request: {"jsonrpc": "2.0", "method": "eth_blockNumber", "params": [], "id": 293}.
2020-03-09 14:26:49 UTC http.worker20 DEBUG rpc  Response: {"jsonrpc":"2.0","result":"0x930f97","id":293}.
2020-03-09 14:26:50 UTC http.worker20 TRACE rpc  Request: {"jsonrpc": "2.0", "method": "eth_getFilterChanges", "params": ["0x0"], "id": 294}.
2020-03-09 14:26:50 UTC http.worker20 DEBUG rpc  Response: {"jsonrpc":"2.0","error":{"code":-32000,"message":"Filter not found"},"id":294}.

Config:

./auction-keeper/bin/auction-keeper \
        --rpc-host localhost \
        --rpc-port 8545 \
        --rpc-timeout 30 \
        --eth-from ${ACCOUNT_ADDRESS} \
        --eth-key ${ACCOUNT_KEY} \
        --type flip \
        --ilk ETH-A \
        --max-auctions 2 \
        --from-block 8928267 \
        --keep-dai-in-vat-on-exit \
        --keep-gem-in-vat-on-exit \
        --debug \
        --model models/fixed_price.sh | tee -a -i logs/auction-keeper-flip-ETH-A.log

DarkShimy00 avatar Mar 09 '20 14:03 DarkShimy00

The filter not found error usually indicates the node doesn't support eth filtering (for example, Infura's HTTP endpoints don't support this). Since you're running your own node, this doesn't seem to be the case. I've also seen this occur when there are node connectivity issues or the node isn't in sync.

EdNoepel avatar Mar 15 '20 15:03 EdNoepel

@DarkShimy00 You should consider git submodule updating pymaker to the commit that contains this PR, as it attempts to fix the error that you're seeing.

KentonPrescott avatar Mar 15 '20 22:03 KentonPrescott

@DarkShimy00 You should consider git submodule updating pymaker to the commit that contains this PR, as it attempts to fix the error that you're seeing.

Updating the submodule makes it more stable now. The filter not found error still appears, but the keeper does not crash and keeps running.

Right now, I'm looking at a VulcanizeDB endpoint to see if it would reduce the load on my node.

EDIT: Woops, closed it by mistake.

DarkShimy00 avatar Mar 16 '20 13:03 DarkShimy00

You can reduce load by using the --bid-only parameter. As long as other participants are biting vaults, you'll be able to bid on them.

EdNoepel avatar Mar 16 '20 15:03 EdNoepel

@DarkShimy00 We just updated the readme (see our new Limitations section) to document the Filter not found issue as well as offer some remedies. Hope this helps, and thank you for your feedback and engagement.

KentonPrescott avatar Apr 10 '20 20:04 KentonPrescott