filecoin-project / lotus

Reference implementation of the Filecoin protocol, written in Go
https://lotus.filecoin.io/
Other
2.83k stars 1.25k forks source link

Adding jq to deal filter in config leads to invalid json and `Error:custom deal decision logic failed` #3677

Closed jennijuju closed 3 years ago

jennijuju commented 4 years ago

Lotus version: 0.6.0 +

Case 1

“jq -e ‘.Proposal.Client == \“t1nslxql4pck5pq7hddlzym3orxlx35wkepzjkm3i\” or .Proposal.Client == \“t1stghxhdp2w53dym2nz2jtbpk6ccd4l2lxgmezlq\” or .Proposal.Client == \“t1mcr5xkgv4jdl3rnz77outn6xbmygb55vdejgbfi\” or .Proposal.Client == \“t1qiqdbbmrdalbntnuapriirduvxu5ltsc5mhy7si\”  ’”

--->

{“content”:{“Proposal”:{“PieceCID”:{“/”:“baga6ea4seaqdwvkejlbkboxbdmilemcixaid2nusg7ts4nq7hank3dvyqucrgpy”},“PieceSize”:134217728,“VerifiedDeal”:false,“Client”:“t1nslxql4pck5pq7hddlzym3orxlx35wkepzjkm3i”,“Provider”:“t03223”,“Label”:“\ufffdepcids\ufffd\ufffd*X’\u0000\u0001p\ufffd\ufffd\u0002 \ufffd\ufffdP\u0000\ufffdd\ufffd\ufffd[4R\ufffd\“\u001f\u001eLz\u001cw\u0019N\ufffd\ufffdl\ufffd\ufffd\ufffd\ufffd\ufffd\u001b\ufffd”,“StartEpoch”:47566,“EndEpoch”:751338,“StoragePricePerEpoch”:“62500000”,“ProviderCollateral”:“0”,“ClientCollateral”:“0”},“ClientSignature”:{“Type”:1,“Data”:“55bEscywb52+VIg92YinFHz0yDeYDoX3R0dsMLHftXp1okel5q/t+TVaHGNVRQtSBAxDMYXZIaFQqmrpsm/TLQE=“},“ProposalCid”:{“/”:“bafyreihbu7a75d4acddzbejp3wkxcyazydydkayrogijcaxcvch2qhv5h4”},“AddFundsCid”:null,“PublishCid”:null,“Miner”:“12D3KooWPGM5Ub5Zhm3zhrzbbbcUZZJc2aw4tRmWTRzsuW3esUW7”,“Client”:“12D3KooWLNFQ4WTmRPTRY5CtxZuPyyAVj3xuTAVzpaMisRFbi1fa”,“State”:0,“PiecePath”:“”,“MetadataPath”:“”,“SlashEpoch”:0,“FastRetrieval”:true,“Message”:“”,“StoreID”:570,“FundsReserved”:“0”,“Ref”:{“TransferType”:“graphsync”,“Root”:{“/”:“bafykbzacec5ikuaa35sjlgk3grjociq7dzghuhdxdf7u5ipgns77nnfm5in4s”},“PieceCid”:null,“PieceSize”:0},“AvailableForRetrieval”:false,“DealID”:0,“CreationTime”:“2020-09-08T10:24:18.546329592Z”}}

Case 2

{“System”:“HANDLEDEAL”,“Timestamp”:1599560658546534801,“Val”:{“content”:{“Proposal”:{“PieceCID”:{“/”:“baga6ea4seaqdwvkejlbkboxbdmilemcixaid2nusg7ts4nq7hank3dvyqucrgpy”},“PieceSize”:134217728,“VerifiedDeal”:false,“Client”:“t1nslxql4pck5pq7hddlzym3orxlx35wkepzjkm3i”,“Provider”:“t03223",“Label”:“\ufffdepcids\ufffd\ufffd*X’\u0000\u0001p\ufffd\ufffd\u0002 \ufffd\ufffdP\u0000\ufffdd\ufffd\ufffd[4R\ufffd\“\u001f\u001eLz\u001cw\u0019N\ufffd\ufffdl\ufffd\ufffd\ufffd\ufffd\ufffd\u001b\ufffd”,“StartEpoch”:47566,“EndEpoch”:751338,“StoragePricePerEpoch”:“62500000”,“ProviderCollateral”:“0”,“ClientCollateral”:“0”},“ClientSignature”:{“Type”:1,“Data”:“55bEscywb52+VIg92YinFHz0yDeYDoX3R0dsMLHftXp1okel5q/t+TVaHGNVRQtSBAxDMYXZIaFQqmrpsm/TLQE=“},“ProposalCid”:{“/”:“bafyreihbu7a75d4acddzbejp3wkxcyazydydkayrogijcaxcvch2qhv5h4”},“AddFundsCid”:null,“PublishCid”:null,“Miner”:“12D3KooWPGM5Ub5Zhm3zhrzbbbcUZZJc2aw4tRmWTRzsuW3esUW7”,“Client”:“12D3KooWLNFQ4WTmRPTRY5CtxZuPyyAVj3xuTAVzpaMisRFbi1fa”,“State”:0,“PiecePath”:“”,“MetadataPath”:“”,“SlashEpoch”:0,“FastRetrieval”:true,“Message”:“”,“StoreID”:570,“FundsReserved”:“0”,“Ref”:{“TransferType”:“graphsync”,“Root”:{“/”:“bafykbzacec5ikuaa35sjlgk3grjociq7dzghuhdxdf7u5ipgns77nnfm5in4s”},“PieceCid”:null,“PieceSize”:0},“AvailableForRetrieval”:false,“DealID”:0,“CreationTime”:“2020-09-08T10:24:18.546329592Z”}}} 
jennijuju commented 4 years ago

miner modified age jq as suggested : --ascii-output / -a: jq usually outputs non-ASCII Unicode codepoints as UTF-8, even if the input specified them as escape sequences (like "\u03bc"). Using this option, you can force jq to produce pure ASCII output with every non-ASCII character replaced with the equivalent escape sequence. -> Filter = “jq -a -e ‘.Proposal.Client == \“t1nslxql4pck5pq7hddlzym3orxlx35wkepzjkm3i\” or .Proposal.Client == \“t1stghxhdp2w53dym2nz2jtbpk6ccd4l2lxgmezlq\” or .Proposal.Client == \“t1mcr5xkgv4jdl3rnz77outn6xbmygb55vdejgbfi\” or .Proposal.Client == \“t1qiqdbbmrdalbntnuapriirduvxu5ltsc5mhy7si\” ’”

reports error


dealfilter/cli.go:25    [DEALFILTER] cmd:jq -a -e ‘.Proposal.Client == “t3uhexxdjol5lktpj46jpvqlodpcewxq4kjec2z5txkkhlegfh62dt23asfy7bqo55iuezx4mbybpsmxpl7f2q” ’
dealfilter/cli.go:40    [DEALFILTER] exec default failed wait: no child processes  # add log```
jennijuju commented 3 years ago

fixed