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

Feature Gate: Enable the ExtendProgram ix for the bpf upgradeable loader #26385

Closed
jstarry opened this issue Jul 4, 2022 · 24 comments · Fixed by #35194
Closed

Feature Gate: Enable the ExtendProgram ix for the bpf upgradeable loader #26385

jstarry opened this issue Jul 4, 2022 · 24 comments · Fixed by #35194
Labels
feature-gate Pull Request adds or modifies a runtime feature gate

Comments

@jstarry
Copy link
Member

jstarry commented Jul 4, 2022

Description

See #26386

Add a feature gate to enable a new ExtendProgram instruction which is permission less and allows extending the program data by a specified number of bytes so that developers don't need to pre-allocate program data accounts.

Note

Do NOT activate this before enable program redeployment cooldown.

Feature ID

8Zs9W7D9MpSEtUWSQdGniZk2cNmV22y6FLJwCx53asme

Activation Method

Single Core Contributor

Minimum Version

v1.16.0

Testnet Activation Epoch

492

Devnet Activation Epoch

547

Mainnet-Beta Activation Epoch

532

@mgild
Copy link

mgild commented Jul 4, 2022

What is eta for this?

@jstarry
Copy link
Member Author

jstarry commented Jul 4, 2022

What is eta for this?

Needs to get reviewed, audited, and then activated via feature gate. I'm hoping to get this feature into v1.11 and will activate it once each cluster is fully upgraded to that version.

@codestoned1
Copy link

thanks for working on this @jstarry! any guidance on earliest possible 1.11 release?

@jstarry
Copy link
Member Author

jstarry commented Aug 12, 2022

thanks for working on this @jstarry! any guidance on earliest possible 1.11 release?

It will be enabled on testnet soon but it's quite difficult to predict when mainnet will be updated to v1.11 at this time

@mardragon
Copy link

mardragon commented Aug 24, 2022

It's great change @jstarry. Will solana program deploy CLI command handle resizing automatically ?

In description you wrote "extending", I assume we can also shrink it and recover unused SOL ?

@jstarry
Copy link
Member Author

jstarry commented Aug 24, 2022

Will solana program deploy CLI command handle resizing automatically ?

That would be a nice feature, but not implemented yet in the CLI

I assume we can also shrink it and recover unused SOL ?

The length of the program data isn't stored in the metadata so it's not possible to know how much data can be shrunk safely. That could be implemented though and added as a separate feature.

@jstarry jstarry changed the title Feature Gate: Enable the ExtendProgramData ix for the bpf upgradeable loader Feature Gate: Enable the ExtendProgram ix for the bpf upgradeable loader Sep 19, 2022
@iurage
Copy link

iurage commented Oct 7, 2022

@jstarry Would you have any idea when this would hit mainnet?

@jstarry
Copy link
Member Author

jstarry commented Oct 7, 2022

@jstarry Would you have any idea when this would hit mainnet?

When mainnet is running v14.. hopefully not too long but it could take months

@Timikcool
Copy link

@jstarry Would you have any idea when this would hit mainnet?

When mainnet is running v14.. hopefully not too long but it could take months

sheesh we need it a lot

@enzoampil
Copy link

hope this is out soon, badly needed for our side as well

@ADBalici
Copy link

Yeah also hope this is deployed soon.

@dr497
Copy link
Contributor

dr497 commented Jan 12, 2023

Is there a rough ETA for when it will be deployed?

@mvines
Copy link
Member

mvines commented Jan 12, 2023

This gate is on the schedule at https://github.com/solana-labs/solana/wiki/Feature-Gate-Activation-Schedule, and is the 25th (if I counted right) feature gate in the 1.14 release line. So best case, it'll be activated 25 epochs after mainnet adopts the 1.14 release line

@Lichtso
Copy link
Contributor

Lichtso commented Feb 7, 2023

Sorry everybody who has been patiently waiting. We will have to delay this until we fix our executor cache (#29803).

@ilmoi
Copy link

ilmoi commented Feb 12, 2023

@Lichtso do you have a rough timeline in mind?

@Lichtso
Copy link
Contributor

Lichtso commented Feb 17, 2023

do you have a rough timeline in mind?

It is making good progress so we should have something on testnet by the next release cycle. Though it will take a lot longer until it hits MNB. Unfortunately our current design makes it hard to implement this right.


@ilmoi @dr497 @ADBalici @enzoampil @Timikcool @iurage @mardragon @zlex7 @mgild
Hate to ping you all like this, but if you are still interested in improving the program management workflow, I would like some feedback on the design of our new loader built-in program, which also comes with a new program management workflow over here: #30464

@blockiosaurus
Copy link

Are there any updates on the timeline of this feature? It looks like it got pushed back several minor versions but we're really hurting for more binary space.

@FoxyDev42
Copy link

Would like an update on this too, out of space on multiple programs, very hard to fit in due to evolving metaplex updates and stuff.

@mvines
Copy link
Member

mvines commented May 6, 2023

This feature is still on the master branch, will ship in the v1.16 release line. When this reaches mainnet depends on how quickly the validators choose to adopt the v1.14 release so that we can begin stabilizing v1.16

@Flawm
Copy link

Flawm commented May 6, 2023

excellent

@Lichtso
Copy link
Contributor

Lichtso commented Nov 6, 2023

It is place 3 in the Feature-Gate-Activation-Schedule of MNB so should be in the next few weeks.

@jstarry
Copy link
Member Author

jstarry commented Nov 15, 2023

FYI this feature was activated a few days ago in epoch 532 on mainnet-beta

@ksolana
Copy link
Contributor

ksolana commented Jan 15, 2024

okay to close it then?

@jstarry
Copy link
Member Author

jstarry commented Jan 16, 2024

Once the feature gate code is cleaned up it will be closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-gate Pull Request adds or modifies a runtime feature gate
Projects
None yet
17 participants