Pre-Dev-Update Thread! Yay! :D

I feel a wee test on a baby-fleming coming on :slight_smile:

from safe dog --help

-r, --replicas <REPLICAS>
        Query all the data replicas matching the given indexes to check they hold a copy of the
        content. E.g. -r0 -r2 will query replicas at index 0 and 2. The network sorts nodes
        (data replicas) in a section by comparing the data's name with nodes' names, it's a
        measure of "closeness to the data" in XOR-namespace. The index of a node in such list is
        what it's referred as a data replica index. At least the first 'data_copy_count' nodes
        should hold this data, more may well hold it too

I may need to read this several times…

10 Likes

So got the following when playing with this new -r flag. Shows replicas 0, 1, 2 and 3 exist OK and that testing for replica 4 gives the expected error.

willie@gagarin:~$ safe files put ~/yarn.lock 
FilesContainer created at: "safe://hyryyryib1cioghtwgcpafsrrgjo9azx4cncp47jp5e38jmcpt81ipyo5tynra?v=h4y7fnmix3sdpg1jppydd9pxjam59sritadnwrbd3rp3baw6fwejo"
+---+------------------------+--------------------------------------------------------------------+
| + | /home/willie/yarn.lock | safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w |
+---+------------------------+--------------------------------------------------------------------+
willie@gagarin:~$ safe dog safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w

== URL resolution step 1 ==
Resolved from: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
= File =
XOR-URL: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
XOR name: 0x328f9cacf4ae66955dc68736db284db96e9176221839cec18759a539dda04ded
Native data type: PublicFile
Media type: Unknown

willie@gagarin:~$ safe dog -r 0 safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w

== URL resolution step 1 ==
Resolved from: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
= File =
XOR-URL: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
XOR name: 0x328f9cacf4ae66955dc68736db284db96e9176221839cec18759a539dda04ded
Native data type: PublicFile
Media type: Unknown

== Checking data replicas of resolved content ==
XOR-URL: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
Replicas indexes queried: [0]
Content composed of 1 chunk/s:
= Chunk at XOR name 0x328f9cacf4ae66955dc68736db284db96e9176221839cec18759a539dda04ded =
Replica #0: Ok!


willie@gagarin:~$ safe dog -r 1 safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w

== URL resolution step 1 ==
Resolved from: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
= File =
XOR-URL: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
XOR name: 0x328f9cacf4ae66955dc68736db284db96e9176221839cec18759a539dda04ded
Native data type: PublicFile
Media type: Unknown

== Checking data replicas of resolved content ==
XOR-URL: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
Replicas indexes queried: [1]
Content composed of 1 chunk/s:
= Chunk at XOR name 0x328f9cacf4ae66955dc68736db284db96e9176221839cec18759a539dda04ded =
Replica #1: Ok!


willie@gagarin:~$ safe dog -r 2 safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w

== URL resolution step 1 ==
Resolved from: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
= File =
XOR-URL: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
XOR name: 0x328f9cacf4ae66955dc68736db284db96e9176221839cec18759a539dda04ded
Native data type: PublicFile
Media type: Unknown

== Checking data replicas of resolved content ==
XOR-URL: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
Replicas indexes queried: [2]
Content composed of 1 chunk/s:
= Chunk at XOR name 0x328f9cacf4ae66955dc68736db284db96e9176221839cec18759a539dda04ded =
Replica #2: Ok!


willie@gagarin:~$ safe dog -r 3 safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w

== URL resolution step 1 ==
Resolved from: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
= File =
XOR-URL: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
XOR name: 0x328f9cacf4ae66955dc68736db284db96e9176221839cec18759a539dda04ded
Native data type: PublicFile
Media type: Unknown

== Checking data replicas of resolved content ==
XOR-URL: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
Replicas indexes queried: [3]
Content composed of 1 chunk/s:
= Chunk at XOR name 0x328f9cacf4ae66955dc68736db284db96e9176221839cec18759a539dda04ded =
Replica #3: Ok!


willie@gagarin:~$ safe dog -r 4 safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w

== URL resolution step 1 ==
Resolved from: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
= File =
XOR-URL: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
XOR name: 0x328f9cacf4ae66955dc68736db284db96e9176221839cec18759a539dda04ded
Native data type: PublicFile
Media type: Unknown

== Checking data replicas of resolved content ==
XOR-URL: safe://hyryyyyj1t6qk37fqc4ki5tw8g5p1oup3p4ezceoa888cdb43wwh75enp7w
Replicas indexes queried: [4]
Content composed of 1 chunk/s:
= Chunk at XOR name 0x328f9cacf4ae66955dc68736db284db96e9176221839cec18759a539dda04ded =
Replica #4: Error received from the network: InsufficientNodeCount { prefix: Prefix(), expected: 5, found: 4 }

Is InsufficientNodeCount really the correct phrase to use in this error message?

EDIT: yes it is - silly me.

8 Likes

It might not be. That’s more about there not being enough nodes to store data. I would have thought youd get a 'DataNotFound` error here. cc @bochaco can you cast an :eyes: :bowing_man:

1 Like

Technically its correct - there was an InsufficientNodeCount to provide the replica (#4) that I requested safe dog -r 4 but Im sure we could come up with a more helpful error msg.

I had to read the --help a few times to convince myself it was factually correct

1 Like

Can’t wait to hear more about this:

9 Likes

That’s this one: Update 24 November, 2022

8 Likes

Also, congratulations to @Anselme for the “PR number matches the current year” event :tada:

10 Likes

Whooohooo! :raised_hands::joy:

10 Likes

Yeeha !!!

now where did I put the agogometer?

15 Likes

More testing to come :100:

14 Likes

Dragged the agogometer round to my mates garage and hooked it to the 3-phase for his hoists cos 240V is just not going to be enough.

A dull thrum is heard from here all the way to the city centre,

6 Likes

That’s your thruming reached the west end now. I can tell by all the car alarms going off down the street.

1 Like

Apparently this recognition was a bit too much for @Anselme 's petty and jealous workmates, and they are now trying to take away his achievement by reverting his PR

Well, you are welcome to try, but what once happened, cannot unhappen! And the PR numbers will only increase, no matter what you try!

(Although I must admit I doubted the original PR to begin with, as it was only four lines… Maybe it was done only to achieve the matching a current year event, without any real significance for the project… But a PR is a PR and if no one else seized the opportunity, it’s only their own fault.)

2 Likes

And another new release…

8 Likes

Rolling in like hot cakes :revolving_hearts:

7 Likes

And another new release…

This all bodes well for tomorrow :wink:

Will safe update work again? Can we do safe node install?

Edit: no and no :frowning:

but does it really matter?

8 Likes

And theres another release :slight_smile:

10 Likes

And the releases keep coming…

Dunno how many of the issues uncovered by last nights testnet have been addressed in this - but its extremely fast work in any case - well done and I look forward to poking at this either locally or in a testnet

8 Likes

Been seeing various things going on with chunk size testing. I may have missed it in an update but anybody know what’s up with that?

5 Likes

All I know is the latest from GitHub was putting chunks at a pretty impressive rate last night.
More testing needed

4 Likes