chore: put celestia features into 0.38.x#1672
Conversation
chore: correctly validate share proof
evan-forbes
left a comment
There was a problem hiding this comment.
[blocking]
where does the app mempool live now? do we just need to move cat and v1 to app? how does that work with the multiplexer?
I removed most of the changes to the e2e test in #1609 , and it simplified things.
overall I think we're good to merge, had a few minor blocking questions/comments. its difficult to ensure that everything was added, but I didn't see anything that shouldn't have been added. If there are things missing, we'll find them when we sync or connect to node and can handle them quickly then.
| // QueueUnprocessedEnvelope is called by the switch when an unprocessed | ||
| // envelope is received. Unprocessed envelopes are immediately buffered in a | ||
| // queue to avoid blocking. Incoming messages are then passed to a | ||
| // processing function. The default processing function unmarshals the | ||
| // messages in the order the sender sent them and then calls Receive on the | ||
| // reactor. The queue size and the processing function can be changed via | ||
| // passing options to the base reactor. | ||
| // QueueUnprocessedEnvelope(e UnprocessedEnvelope) |
There was a problem hiding this comment.
leaving a comment to link piece of code and PR to an issue. we need to handle this at some point. either remove it or re-add it
There was a problem hiding this comment.
+1
There is a lot of commented code in here. We could either remove the commented code and create an issue, or uncomment it.
If we decide to remove it, then we should remove all references to the parallel processing including the queue sizes, etc
| stateMachineValid, err = bcR.blockExec.ProcessProposal(first, state) | ||
| if !stateMachineValid { | ||
| err = fmt.Errorf("application has rejected syncing block (%X) at height %d", first.Hash(), first.Height) |
|
|
||
| // NewReactor returns a new Reactor with the given config and mempool. | ||
| func NewReactor(config *cfg.MempoolConfig, mempool *CListMempool) *Reactor { | ||
| func NewReactor(config *cfg.MempoolConfig, mempool *CListMempool, traceClient trace.Tracer) *Reactor { |
There was a problem hiding this comment.
[not blocking]
I guess it doesn't hurt to add the tracer here, but we don't have any plans to trace this mempool, and we aren't adding any traces here afaict so we could also remove it
| # We use Debian instead of Alpine, so that we can use binary database packages | ||
| # instead of spending time compiling them. | ||
| FROM cometbft/cometbft-db-testing:v0.14.2 | ||
| FROM cometbft/cometbft-db-testing:latest |
There was a problem hiding this comment.
I had to switch to the standard golang one to get this to work. #1609
There was a problem hiding this comment.
is this a reason to use latest instead of the exact version? With latest, we might not be aware when there is a new version that breaks the tests
| } | ||
| func (br *ByzantineReactor) InitPeer(peer p2p.Peer) p2p.Peer { return peer } | ||
|
|
||
| // func (br *ByzantineReactor) QueueUnprocessedEnvelope(e p2p.UnprocessedEnvelope) { |
There was a problem hiding this comment.
ill remove this, it was for testing but then wasnt sure if i should try to add it back. there was an issue with some tests that i couldnt figure out the issue
| // QueueUnprocessedEnvelope is called by the switch when an unprocessed | ||
| // envelope is received. Unprocessed envelopes are immediately buffered in a | ||
| // queue to avoid blocking. Incoming messages are then passed to a | ||
| // processing function. The default processing function unmarshals the | ||
| // messages in the order the sender sent them and then calls Receive on the | ||
| // reactor. The queue size and the processing function can be changed via | ||
| // passing options to the base reactor. | ||
| // QueueUnprocessedEnvelope(e UnprocessedEnvelope) |
There was a problem hiding this comment.
+1
There is a lot of commented code in here. We could either remove the commented code and create an issue, or uncomment it.
If we decide to remove it, then we should remove all references to the parallel processing including the queue sizes, etc
| # We use Debian instead of Alpine, so that we can use binary database packages | ||
| # instead of spending time compiling them. | ||
| FROM cometbft/cometbft-db-testing:v0.14.2 | ||
| FROM cometbft/cometbft-db-testing:latest |
There was a problem hiding this comment.
is this a reason to use latest instead of the exact version? With latest, we might not be aware when there is a new version that breaks the tests
|
Still looking good to me 👍 👍 |
|
I think we're just waiting on the e2e test @tac0turtle it looks like a silly failure, happy to fix this to help push this through if needed |
i havent had a moment to properly debug, but the flag is there so not sure what is missing. |
|
e2e is fixed and made the tests work with pebble as well |
this pr adds the header to finalize block as its stored in state. since abci++ does not contain the whole header it was breaking sync of v3 --------- Co-authored-by: Marko Baricevic <markobaricevic@Markos-MacBook-Pro.local>
| s.server = grpc.NewServer( | ||
| grpc.MaxRecvMsgSize(math.MaxInt32), | ||
| grpc.MaxSendMsgSize(math.MaxInt32), | ||
| ) |
There was a problem hiding this comment.
do these need to be set to MaxInt32 or can we use some const like (max block size + some delta)
There was a problem hiding this comment.
send is already int32, i set the main version to 75, i can do it here.
| handshaker := NewHandshaker(stateStore, state, blockStore, gdoc) | ||
| handshaker.SetEventBus(eventBus) | ||
| err = handshaker.Handshake(proxyApp) | ||
| _, err = handshaker.Handshake(proxyApp) |
There was a problem hiding this comment.
what is the ignored arg? 🤔
There was a problem hiding this comment.
the version in the responseInfo
| // Copied unchanged from reactor.go so the correct respondToPeer is called. | ||
| func (bcR *ByzantineReactor) Receive(e p2p.Envelope) { //nolint: dupl | ||
| func (bcR *ByzantineReactor) Receive(e p2p.Envelope) { | ||
| fmt.Println("Receive", e.Message) |
| func (evR *Reactor) OnStop() { | ||
| evR.BaseReactor.OnStop() | ||
| } |
There was a problem hiding this comment.
this feels redundant since OnStop() is already called automatically when stopping a reactor
Description
This Pr took the diff files from 0.34.x -> 0.34.x-celestia and applied the changes on top of 0.38.x branch of comet.
This contains 95% of the changes.
Missing Features that will be PRed into this branch