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

zt network data can be incomplete until routes appear #3

Closed
sarnold opened this issue Jan 3, 2020 · 0 comments
Closed

zt network data can be incomplete until routes appear #3

sarnold opened this issue Jan 3, 2020 · 0 comments

Comments

@sarnold
Copy link
Contributor

sarnold commented Jan 3, 2020

When networks are created on a ZT node there is a finite amount of time (on the order of seconds) between when the client "sees" the new network and when the network routing data is fully populated. The end result is a possible exception when nodestate.py collects the netStatus data from the cache; note the size of the route list is '0' in the log snippet below:

2020-01-03 01:59:28 UTC node_tools.cache_funcs.get_endpoint_data +52: DEBUG [29823] Entering get_endpoint_data with key_str: net
2020-01-03 01:59:28 UTC node_tools.cache_funcs.get_endpoint_data +60: DEBUG [29823] Appending data for key: net-500000000000000
2020-01-03 01:59:28 UTC node_tools.cache_funcs.get_endpoint_data +63: DEBUG [29823] Leaving get_endpoint_data
2020-01-03 01:59:28 UTC node_tools.cache_funcs.get_net_status +76: DEBUG [29823] net-500000000000000 route list size: 0
2020-01-03 01:59:28 UTC node_tools.helper_funcs.update_state +115: ERROR [29823] update_state exception: list index out of range
2020-01-03 01:59:28 UTC node_tools.data_funcs.do_logstats +32: DEBUG [29823] 13 items currently in cache.
2020-01-03 01:59:29 UTC node_tools.data_funcs.do_logstats +33: DEBUG [29823] Cache items: ['node-500000000000000', 'peer-500000000000000', 'peer-500000000000001', 'peer-500000000000002', 'peer-500000000000003', 'peer-5
00000000000004', 'peer-500000000000005', 'peer-500000000000006', 'moon-500000000000000', 'nstate-500000000000000', 'mstate-500000000000000', 'utc-time', 'net-500000000000000']
2020-01-03 01:59:29 UTC node_tools.data_funcs.do_logstats +31: DEBUG [29823] Leaving update_runner
2020-01-03 01:59:29 UTC node_tools.data_funcs.do_logstats +32: DEBUG [29823] 13 items currently in cache.
2020-01-03 01:59:29 UTC node_tools.data_funcs.do_logstats +33: DEBUG [29823] Cache items: ['node-500000000000000', 'peer-500000000000000', 'peer-500000000000001', 'peer-500000000000002', 'peer-500000000000003', 'peer-5
00000000000004', 'peer-500000000000005', 'peer-500000000000006', 'moon-500000000000000', 'nstate-500000000000000', 'mstate-500000000000000', 'utc-time', 'net-500000000000000']
2020-01-03 01:59:29 UTC node_tools.data_funcs.wrapper +64: INFO [29823] Get data result: ENODATA
sarnold added a commit that referenced this issue Jan 3, 2020
* cache_funcs.py: handle condition for missing routes
* logger_config.py: add local logger config
* nodestate.py: handle generic exception
* fpnd.py: switch logger, remove cruft, shorten cycle time
* add more tests

Signed-off-by: Stephen Arnold <nerdboy@gentoo.org>
@sarnold sarnold closed this as completed Jan 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant