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

Fix skipped slot detection for eager rent collect #10890

Merged

Conversation

ryoqun
Copy link
Member

@ryoqun ryoqun commented Jul 2, 2020

Problem

Sorry, skipped slot detection was half-way for eager-rent collection... Found today with tds's epoch 61 -> epoch 62 transition:

Bad (curent behavior; missing last pubkey range for previous epoch):

  [2020-07-02T10:07:47.938607650Z ERROR solana_runtime::bank] pubkey_range_from_partition: (431984-431985)/432000 [42700796466919]: fffdb97530eaf468000000000000000000000000000000000000000000000000-fffde04b3eb90b4fffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:07:48.441329379Z ERROR solana_runtime::bank] pubkey_range_from_partition: (431985-431986)/432000 [42700796466919]: fffde04b3eb90b50000000000000000000000000000000000000000000000000-fffe07214c872237ffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:07:48.671771528Z ERROR solana_runtime::bank] pubkey_range_from_partition: (431986-431987)/432000 [42700796466919]: fffe07214c872238000000000000000000000000000000000000000000000000-fffe2df75a55391fffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:07:50.686829811Z ERROR solana_runtime::bank] pubkey_range_from_partition: (431987-431992)/432000 [213503982334599]: fffe2df75a553920000000000000000000000000000000000000000000000000-fffef0259f5baba7ffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:07:50.994492961Z ERROR solana_runtime::bank] pubkey_range_from_partition: (431992-431993)/432000 [42700796466919]: fffef0259f5baba8000000000000000000000000000000000000000000000000-ffff16fbad29c28fffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:07:51.218920166Z ERROR solana_runtime::bank] pubkey_range_from_partition: (431993-431994)/432000 [42700796466919]: ffff16fbad29c290000000000000000000000000000000000000000000000000-ffff3dd1baf7d977ffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:07:51.473983021Z ERROR solana_runtime::bank] pubkey_range_from_partition: (431994-431995)/432000 [42700796466919]: ffff3dd1baf7d978000000000000000000000000000000000000000000000000-ffff64a7c8c5f05fffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:07:52.706004672Z ERROR solana_runtime::bank] pubkey_range_from_partition: (0-0)/432000 [42700796466919]: 0000000000000000000000000000000000000000000000000000000000000000-000026d60dce16e7ffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:07:53.339003499Z ERROR solana_runtime::bank] pubkey_range_from_partition: (0-1)/432000 [42700796466919]: 000026d60dce16e8000000000000000000000000000000000000000000000000-00004dac1b9c2dcfffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:07:53.512714362Z ERROR solana_runtime::bank] pubkey_range_from_partition: (1-2)/432000 [42700796466919]: 00004dac1b9c2dd0000000000000000000000000000000000000000000000000-00007482296a44b7ffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:07:56.082589683Z ERROR solana_runtime::bank] pubkey_range_from_partition: (2-3)/432000 [42700796466919]: 00007482296a44b8000000000000000000000000000000000000000000000000-00009b5837385b9fffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:08:03.608213480Z ERROR solana_runtime::bank] pubkey_range_from_partition: (3-4)/432000 [42700796466919]: 00009b5837385ba0000000000000000000000000000000000000000000000000-0000c22e45067287ffffffffffffffffffffffffffffffffffffffffffffffff

Summary of Changes

Correctly detect it.... Also adjust gating a bit. I think tweaking gated logic is safe because it's still not scheduled.

Good (future behavior; adding last pubkey range for previous epoch):

  [2020-07-02T10:33:05.549159029Z ERROR solana_runtime::bank] pubkey_range_from_partition: (431984-431985)/432000 [42700796466919]: fffdb97530eaf468000000000000000000000000000000000000000000000000-fffde04b3eb90b4fffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:33:05.696762691Z ERROR solana_runtime::bank] pubkey_range_from_partition: (431985-431986)/432000 [42700796466919]: fffde04b3eb90b50000000000000000000000000000000000000000000000000-fffe07214c872237ffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:33:05.842711290Z ERROR solana_runtime::bank] pubkey_range_from_partition: (431986-431987)/432000 [42700796466919]: fffe07214c872238000000000000000000000000000000000000000000000000-fffe2df75a55391fffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:33:06.538348390Z ERROR solana_runtime::bank] pubkey_range_from_partition: (431987-431992)/432000 [213503982334599]: fffe2df75a553920000000000000000000000000000000000000000000000000-fffef0259f5baba7ffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:33:06.686124680Z ERROR solana_runtime::bank] pubkey_range_from_partition: (431992-431993)/432000 [42700796466919]: fffef0259f5baba8000000000000000000000000000000000000000000000000-ffff16fbad29c28fffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:33:06.847646971Z ERROR solana_runtime::bank] pubkey_range_from_partition: (431993-431994)/432000 [42700796466919]: ffff16fbad29c290000000000000000000000000000000000000000000000000-ffff3dd1baf7d977ffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:33:07.020169944Z ERROR solana_runtime::bank] pubkey_range_from_partition: (431994-431995)/432000 [42700796466919]: ffff3dd1baf7d978000000000000000000000000000000000000000000000000-ffff64a7c8c5f05fffffffffffffffffffffffffffffffffffffffffffffffff
!![2020-07-02T10:33:07.783721912Z ERROR solana_runtime::bank] pubkey_range_from_partition: (431995-431999)/432000 [170803185979295]: ffff64a7c8c5f060000000000000000000000000000000000000000000000000-ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:33:07.783787254Z ERROR solana_runtime::bank] pubkey_range_from_partition: (0-0)/432000 [42700796466919]: 0000000000000000000000000000000000000000000000000000000000000000-000026d60dce16e7ffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:33:07.783831748Z ERROR solana_runtime::bank] pubkey_range_from_partition: (0-0)/432000 [42700796466919]: 0000000000000000000000000000000000000000000000000000000000000000-000026d60dce16e7ffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:33:07.981193413Z ERROR solana_runtime::bank] pubkey_range_from_partition: (0-1)/432000 [42700796466919]: 000026d60dce16e8000000000000000000000000000000000000000000000000-00004dac1b9c2dcfffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:33:08.158625999Z ERROR solana_runtime::bank] pubkey_range_from_partition: (1-2)/432000 [42700796466919]: 00004dac1b9c2dd0000000000000000000000000000000000000000000000000-00007482296a44b7ffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:33:08.331153600Z ERROR solana_runtime::bank] pubkey_range_from_partition: (2-3)/432000 [42700796466919]: 00007482296a44b8000000000000000000000000000000000000000000000000-00009b5837385b9fffffffffffffffffffffffffffffffffffffffffffffffff
  [2020-07-02T10:33:08.509018255Z ERROR solana_runtime::bank] pubkey_range_from_partition: (3-4)/432000 [42700796466919]: 00009b5837385ba0000000000000000000000000000000000000000000000000-0000c22e45067287ffffffffffffffffffffffffffffffffffffffffffffffff

follow-up to #10206.

CC: @t-nelson FYI: @mvines

@codecov
Copy link

codecov bot commented Jul 2, 2020

Codecov Report

Merging #10890 into master will increase coverage by 0.0%.
The diff coverage is 100.0%.

@@           Coverage Diff           @@
##           master   #10890   +/-   ##
=======================================
  Coverage    81.8%    81.9%           
=======================================
  Files         308      308           
  Lines       71447    71468   +21     
=======================================
+ Hits        58513    58549   +36     
+ Misses      12934    12919   -15     

@ryoqun ryoqun changed the title Fix skipped slot detection for eager rent collect Really fix skipped slot detection for eager rent collect Jul 2, 2020
@ryoqun ryoqun changed the title Really fix skipped slot detection for eager rent collect Fix skipped slot detection for eager rent collect Jul 2, 2020
@stale
Copy link

stale bot commented Jul 9, 2020

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

@stale stale bot added the stale [bot only] Added to stale content; results in auto-close after a week. label Jul 9, 2020
@ryoqun ryoqun requested a review from sakridge July 9, 2020 13:25
@stale stale bot removed the stale [bot only] Added to stale content; results in auto-close after a week. label Jul 9, 2020
vec![(14, 31, 32), (0, 0, 64)]
);
bank = Arc::new(new_from_parent(&bank));
assert_eq!(bank.rent_collection_partitions(), vec![(0, 1, 64)]);
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this is rather untasteful hard coding magic numbers. But, I want to first fix the bug and deploy the updated logic to tds along with #10206.

@ryoqun
Copy link
Member Author

ryoqun commented Jul 9, 2020

@sakridge Oops, I intended to ask a review from you but it seems that I wrongly assigned this pr to you.... ;)

Copy link
Member

@sakridge sakridge left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@ryoqun ryoqun merged commit f1c1152 into solana-labs:master Jul 9, 2020
mergify bot pushed a commit that referenced this pull request Jul 9, 2020
ryoqun added a commit that referenced this pull request Jul 10, 2020
(cherry picked from commit f1c1152)

Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
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

Successfully merging this pull request may close these issues.

2 participants