ClientImprovementNet [22/09/23 Testnet] [Offline]

Need to change the OP then.
Things have moved on since - we now have 0.90.35.

safe@ClientImprovementNet-Southside01:~/.local/share/safe$ safeup node
**************************************
*                                    *
*          Installing safenode       *
*                                    *
**************************************
Installing safenode for x86_64-unknown-linux-musl at /home/safe/.local/bin...
Retrieving latest version for safenode...
Installing safenode version 0.90.35...
  [########################################] 6.69 MiB/6.69 MiB                                                                                                               safenode 0.90.35 is now available at /home/safe/.local/bin/safenode
1 Like

OP updated to 0.90.34

6 Likes

About to find out if 0.90.35 will work…

yep!!! earning immediately

7 Likes

AFK for the weekend, no time to play. Good to see the progress though! Enjoy :grinning:

5 Likes

Maybe better stick to .34 to not mix things up?

1 Like

Starting to get upload errors


Failed to fetch 20 chunks. Attempting to repay them.
Transfers applied locally
All transfers completed in 18.838344892s
Total payment: NanoTokens(11802) nano tokens for 20 chunks
Uploaded chunk #98e08b.. in 49 seconds
Uploaded chunk #728945.. in 12 seconds
Uploaded chunk #218c18.. in 12 seconds
Uploaded chunk #320188.. in 12 seconds
Uploaded chunk #9721d6.. in 1 minutes 51 seconds
Uploaded chunk #2fb1cc.. in 12 seconds
Uploaded chunk #945d07.. in 12 seconds
Uploaded chunk #3491bc.. in 12 seconds
Uploaded chunk #edfd42.. in 12 seconds
Uploaded chunk #d8e0da.. in 12 seconds
Uploaded chunk #1d7988.. in 12 seconds
Uploaded chunk #c59ce5.. in 12 seconds
Uploaded chunk #868dd8.. in 3 minutes 4 seconds
Uploaded chunk #0f10dd.. in 12 seconds
Uploaded chunk #10da21.. in 7 seconds
Uploaded chunk #5f8776.. in 3 minutes 13 seconds
Uploaded chunk #6e32ce.. in 6 seconds
Uploaded chunk #fdabd4.. in 3 minutes 7 seconds
Uploaded chunk #a68761.. in 2 minutes 54 seconds
Uploaded chunk #d9f084.. in 2 minutes 42 seconds
Failed to fetch 10 chunks. Attempting to repay them.
Transfers applied locally
Error:
   0: Failed to send tokens due to Network Error Could not retrieve the record after storing it: 56d6f3eb3376f592420a9a24f3cd74f8b9eacb2011581fae8670bbb525cdf5f4.
2 Likes

I also got a lot of them about two hours ago. A file of 115 chunks errored on 89 chunks, and even the automatic retries didn’t help.

Then I gave it another go with lower c and batch, and it worked fine.

5 Likes

I tried with -c5 and --batch-size 5 - same thing. Perhaps I should go lower

1 Like

0.90.35 seems to work OK

If you look verrrrry closely you will see some of my nodes are earning

1 Like

Go with that. It seems like the node also didn’t build fresh like the client! I suspect that was it issue. I’ll update OP!

You can pass --peer X --peer Y atm. But yeh it’s all soon to be made redundant

edit: op already sorted, thanks @JPL ! :bowing_man:

Try it! Let’s see what we can see about what performs best here!


Also thanks everyone for persevering with the release issues we’ve seens! Good to see things being sorted as the updated releases rolled in. :+1: :bowing_man:

6 Likes

I am trying different -c and -batch values by uploading the exact same file again and again. I get different results, but is this maybe stupid as I guess failed to fetch... is not an option once the file has been uploades succesfully?

EDIT:

failed to fetch... is very much happening with too high batches. But why actually? Aren’t the new chunks the same as the old ones, and then in a same location and deduplicated?

1 Like

vdash neatly showing the cost of storage rising on my leading node.

Thanks again to @josh and @happybeing for these tools :slight_smile:

7 Likes

It’s pretty hit and miss even with c =1 batch size = 1 and a 1-chunk file. Here is the client log tail after a failure.

The storage payment transfer was not successfully registered in the network: CouldNotSendMoney seems to be the relevant bit.

Summary

root@localhost:~# tail ~/.local/share/safe/client/logs/safe.log [2023-09-22T19:01:35.036608Z TRACE sn_networking::event] Dialing Some(PeerId(“12D3KooWHQZWssTUfSJpAe9nBLjN5fdxgAKmMXUppCFa2Xinx4fv”)) on ConnectionId(358)
[2023-09-22T19:01:35.123805Z TRACE sn_networking::event] identify: received info peer_id=12D3KooWJACRQqKiMjPATCVQmsyon7d37yo6DNJguHcweH1vhMyC info=Info { public_key: PublicKey { publickey: Ed25519(PublicKey(compressed): 7bf2172a9267335cecfae592682ef38f514662c5e85986d347f6bf3726355a9b) }, protocol_version: “safe/0.7”, agent_version: “safe/node/0.7”, listen_addrs: [“/ip4/10.132.0.6/tcp/34575”, “/ip4/143.198.6.98/tcp/34575”, “/ip4/127.0.0.1/tcp/34575”, “/ip4/10.17.0.11/tcp/34575”, “/ip4/143.198.6.98/tcp/34575/p2p/12D3KooWJACRQqKiMjPATCVQmsyon7d37yo6DNJguHcweH1vhMyC”], protocols: [StreamProtocol { inner: Right(“/safe/node/0.7”) }, StreamProtocol { inner: Right(“/ipfs/id/push/1.0.0”) }, StreamProtocol { inner: Right(“/libp2p/autonat/1.0.0”) }, StreamProtocol { inner: Right(“/ipfs/id/1.0.0”) }, StreamProtocol { inner: Right(“/ipfs/kad/1.0.0”) }], observed_addr: “/ip4/176.58.124.107/tcp/37724” }
[2023-09-22T19:01:35.123915Z TRACE sn_networking::event] identify: attempting to add addresses to routing table peer_id=12D3KooWJACRQqKiMjPATCVQmsyon7d37yo6DNJguHcweH1vhMyC addrs=[“/ip4/143.198.6.98/tcp/34575”]
[2023-09-22T19:01:35.123967Z TRACE sn_networking::event] KademliaEvent ignored: RoutablePeer { peer: PeerId(“12D3KooWJACRQqKiMjPATCVQmsyon7d37yo6DNJguHcweH1vhMyC”), address: “/ip4/143.198.6.98/tcp/34575/p2p/12D3KooWJACRQqKiMjPATCVQmsyon7d37yo6DNJguHcweH1vhMyC” }
[2023-09-22T19:01:35.169306Z TRACE sn_networking::event] ConnectionEstablished (ConnectionId(354)): outgoing (/ip4/159.203.160.221/tcp/41093/p2p/12D3KooWBFMZUR69mJEWfkbSaaR5tZkH2uMr5UHUVQx8Tk2gjc7Y) peer_id=12D3KooWBFMZUR69mJEWfkbSaaR5tZkH2uMr5UHUVQx8Tk2gjc7Y num_established=1
[2023-09-22T19:01:35.169649Z TRACE sn_networking::event] identify: Sent { peer_id: PeerId(“12D3KooWBFMZUR69mJEWfkbSaaR5tZkH2uMr5UHUVQx8Tk2gjc7Y”) }
[2023-09-22T19:01:35.329696Z INFO sn_networking::event] Query task QueryId(13) NotFound record 05890f9ce6879fd7b63714a779fb10f01a37a0fa3e58a3691e1ab37df2eb7f03 among peers [PeerId(“12D3KooWNMdrrcrY1Ghc3nwT7pRgoZMm3qpZ85suCd4wmQGfj4bo”), PeerId(“12D3KooWCwjyEfcTRJcz9Ddyfd8f4Ra5cNPgNfsPCM2dLSU7DKWi”), PeerId(“12D3KooWLuFgMaBJ7YAXKMsBQEPU4iNPx2VYUbG1RzNSAM9KxNVM”), PeerId(“12D3KooWJ2BDpRvfcDDCDbcFT3YcMJ39VkraFZjZTFYofKBsfnoE”), PeerId(“12D3KooWEMuVvjmraGmbBtgPX3VXtgQtTT4x6VuU5fP5gHwdEcGw”), PeerId(“12D3KooWMUPKPntJC9oFavCtBcGKe8wDXkNeXN8Xzrs6se8P6i2h”), PeerId(“12D3KooWCgpxuKUHSgPzmJC7PADeYgf63yNuGNza4yQzi5QdsnUF”), PeerId(“12D3KooWA1FCg6afmQzehbHmaWX5A13jhGziMnm6HJbJbTYP6PER”)], QueryStats { requests: 31, success: 23, failure: 0, start: Some(Instant { tv_sec: 39821, tv_nsec: 336185587 }), end: Some(Instant { tv_sec: 39823, tv_nsec: 504787158 }) } - ProgressStep { count: 1, last: true }
[2023-09-22T19:01:35.329957Z ERROR sn_networking] RecordNotFound
[2023-09-22T19:01:35.329976Z ERROR sn_networking] Failing to verify the put record 05890f9ce6879fd7b63714a779fb10f01a37a0fa3e58a3691e1ab37df2eb7f03 with error RecordNotFound
[2023-09-22T19:01:35.330083Z WARN sn_client::wallet] The storage payment transfer was not successfully registered in the network: CouldNotSendMoney(“Network Error Could not retrieve the record after storing it: 05890f9ce6879fd7b63714a779fb10f01a37a0fa3e58a3691e1ab37df2eb7f03.”). It will be retried later.

3 Likes

Hey @TylerAbeoJordan, you got some sweet spot of -c and -batch in the last testnet, didn’t you? What was it, and for what file size? Any findings on this testnet?

How about anyone else?

I am uploading a 59,7MB file again and again, and it succeeds every time. So far the best performance has been:

 -c 200 --batch-size 20 

real	6m57,601s
user	5m14,048s
sys	0m32,794s

And recently I got to repay some chunks with:

-c 200 --batch-size 40 

real	13m24,288s   
user	9m56,370s
sys	0m48,284s

It seems to me that large batch sizes fail much more easily than smaller ones. The effect of concurrency is more unclear to me.

5 Likes

@JPL @Toivo

Higher -c is better and lower -batch-size is better … don’t go lower or higher on both - they need to be inverse to each other to maximize effect.

Unclear how high -c you can go and still have an effect, maybe 30, 50, 100? I don’t know. But higher is better and uses more CPU.

-batch-size – what worked consistently for me last time was 5 or lower. I’ve thought this was due to my particular internet limits, but not so sure now. I think it’d be interesting to hear the experiences of those with really high throughput connections - i.e. what batch-size could they consistently run with and not drop chunks.

1 Like

Certainly made more progress with c=30 and batch-size=2 on a 6-chunk file but it still failed in the end with:

Transfer Error Failed to send tokens due to Network Error Could not retrieve the record after storing it:

3 Likes

wow, I would have thought that’d clear the hurdle easy. With small files may as well go with max -c anyway as even though a more CPU, it’s only for an instant and not continuous.

edit: I should say small uploads to be more clear.

what does the “-c” flag refer to exactly?

1 Like

concurrency I think … number of concurrent connections maybe? Or maybe threads? dunno for sure.

1 Like

As I understand it -c is concurrency - I think of it as the amount of parallelism that will be attempted.
higher is faster but more error-prone

batch-size - how many chunks should be sent to the network in any one operation
lower is slower but seemingly more reliable in my experience on RAM-constrained cheapo cloud instances.

3 Likes