FetchDeclineChainNotPlausible - What does it mean

Hey guys, in our current setup we have

1 BP Server in US
1 External Node in Seoul
1 External Node in US

They are in sync and talking to each other but I always see the FetchDeclineChainNotPlausible issue. Is this an error?

ip-172-3:cardano.node.BlockFetchDecision:Info:61] [2020-08-03 05:59:52.42 UTC] [String “PeersFetch”,Array [Object (fromList [(“peer”,String “ConnectionId {localAddress = 172.31.40.145:42587, remoteAddress = 13.29.23.11:3001}”),(“kind”,String “FetchDecision declined”),(“declined”,String “FetchDeclineChainNotPlausible”)]),Object (fromList [(“peer”,String “ConnectionId {localAddress = 172.31.40.145:40041, remoteAddress = 172.31.47.125:3001}”),(“kind”,String “FetchDecision declined”),(“declined”,String “FetchDeclineChainNotPlausible”)]),Object (fromList [(“peer”,String “ConnectionId {localAddress = 172.31.40.145:39185, remoteAddress = 13.29.23.11:3002}”),(“kind”,String “FetchDecision declined”),(“declined”,String “FetchDeclineChainNotPlausible”)]),Object (fromList [(“length”,String “1”),(“peer”,String “ConnectionId {localAddress = 172.31.40.145:42423, remoteAddress = 172.31.47.125:3002}”),(“kind”,String “FetchDecision results”)])]]

Anyone wants to shine their wisdom on this?

Hi everyone!

I got here having the same question… I’ve been in the Telegram chatroom for SPOs also and did not really get good info in there. I don’t want to pollute the chat any further, so I just went here.

Hopefully someone can provide us some info on this.

I think we badly need an explanation on this. I have checked my node logs after letting them run for a few hours… and I haven’t seen any BlockFetchDecision that is not “declined”. It’s all declined… even between my own relays and core nodes which I know are already talking to each other.

By the way, transactions processed by each node (relays and core) are all increasing, if that’s related.

1 Like

Yes I agreed, would be good if we can have a reference list of all these potential errors.

1 Like

Here’s that log entry again, prettified for easier readin:

{
	"at": "2020-08-17T07:25:13.78Z",
	"env": "1.18.0:ba0f9",
	"ns": [
		"cardano.node.BlockFetchDecision"
	],
	"data": {
		"kind": "PeersFetch",
		"peers": [
			{
				"peer": "ConnectionId {localAddress = 123.123.12.13:44695, remoteAddress = 180.150.116.90:3001}",
				"kind": "FetchDecision declined",
				"declined": "FetchDeclineChainNotPlausible"
			},
			{
				"peer": "ConnectionId {localAddress = 123.123.12.13:41821, remoteAddress = 116.203.253.121:3001}",
				"kind": "FetchDecision declined",
				"declined": "FetchDeclineChainNotPlausible"
			},
			{
				"peer": "ConnectionId {localAddress = 123.123.12.13:41193, remoteAddress = 18.182.219.85:3001}",
				"kind": "FetchDecision declined",
				"declined": "FetchDeclineInFlightThisPeer"
			},
			{
				"peer": "ConnectionId {localAddress = 123.123.12.13:37749, remoteAddress = 172.105.126.100:3000}",
				"kind": "FetchDecision declined",
				"declined": "FetchDeclineChainNotPlausible"
			},
			{
				"peer": "ConnectionId {localAddress = 123.123.12.13:37169, remoteAddress = 172.105.188.245:3000}",
				"kind": "FetchDecision declined",
				"declined": "FetchDeclineChainNotPlausible"
			},
			{
				"peer": "ConnectionId {localAddress = 123.123.12.13:36955, remoteAddress = 159.203.47.13:3001}",
				"kind": "FetchDecision declined",
				"declined": "FetchDeclineChainNotPlausible"
			},
			{
				"peer": "ConnectionId {localAddress = 123.123.12.13:36643, remoteAddress = 161.35.11.23:6000}",
				"kind": "FetchDecision declined",
				"declined": "FetchDeclineChainNotPlausible"
			},
			{
				"peer": "ConnectionId {localAddress = 123.123.12.13:34999, remoteAddress = 35.200.2.211:3001}",
				"kind": "FetchDecision declined",
				"declined": "FetchDeclineChainNotPlausible"
			},
			{
				"peer": "ConnectionId {localAddress = 123.123.12.13:34399, remoteAddress = 35.246.11.52:4002}",
				"kind": "FetchDecision declined",
				"declined": "FetchDeclineChainNotPlausible"
			},
			{
				"peer": "ConnectionId {localAddress = 123.123.12.13:33315, remoteAddress = 34.66.51.12:3001}",
				"kind": "FetchDecision declined",
				"declined": "FetchDeclineChainNotPlausible"
			},
			{
				"peer": "ConnectionId {localAddress = 123.123.12.13:33131, remoteAddress = 18.158.75.244:3001}",
				"kind": "FetchDecision declined",
				"declined": "FetchDeclineChainNotPlausible"
			},
			{
				"peer": "ConnectionId {localAddress = 123.123.12.13:32989, remoteAddress = 3.14.52.39:3001}",
				"kind": "FetchDecision declined",
				"declined": "FetchDeclineChainNotPlausible"
			},
			{
				"peer": "ConnectionId {localAddress = 123.123.12.13:40279, remoteAddress = 70.35.207.62:6001}",
				"kind": "FetchDecision declined",
				"declined": "FetchDeclineConcurrencyLimit FetchModeDeadline 1"
			}
		]
	},
	"app": [],
	"msg": "",
	"pid": "62088",
	"loc": null,
	"host": "rock1",
	"sev": "Info",
	"thread": "713"
}

Apparently, all the peers listed in the topology file are declining the blockfetch request of this node.

I have my firewall managed by UFW (this is an Ubuntu20.04 server) and all incoming traffic are blocked by default except on the ports where cardano-node is listening. All outgoing however, are allowed.

From the error message above, this node is trying to fetch blocks from those peers using some “ephemeral” ports that I haven’t allowed in the firewall.

I have a feeling - but I might also be stupidly wrong - that the error could be due to the peers’ responses not being received by this node. My theory is that when the peer replies to the “fetch” request, they reply on the port where the request originated, but since that port is not open, the response does not reach the requesting cardano-node.

We just need clarification or confirmation…

Anyone, please?

Hey I asked the question again on the Telegram Group and @disasm confirmed that "there’s nothing to resolve, that just says it solicited blocks and one of the blocks a relay suggested to it is not worth fetching because it can’t fit on to the chain. "

1 Like

Hello,

According to Sam Leathers:

"My understanding is that means it declined a chain after checking the header. Possibly because it forked more than 3k/f in the past, but there could be other reasons too.

There’s nothing to resolve, that just says it solicited blocks and one of the blocks a relay suggested to it is not worth fetching because it can’t fit on to the chain."

So this shouldn’t be anything to worry about

1 Like

Yep, I just saw that message on the chatroom also…

Although, it just makes me wonder why every time there’s an entry in the logs about BlockFetchDecision, it’s always “declined”. My severity setting for the logs is info level…

Could it be that if the response is not “declined”, the sev level doesn’t even reach “info” level?

The alternative is the is chain extended.

I see. That makes sense.