changeset 81:b589ae992146

x
author Henry S. Thompson <ht@inf.ed.ac.uk>
date Mon, 31 Mar 2025 12:41:58 +0100
parents 02fb801ac3c1
children 9fdeb9b3e58c
files lurid3/notes.txt
diffstat 1 files changed, 175 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lurid3/notes.txt	Tue Mar 25 19:48:02 2025 +0000
+++ b/lurid3/notes.txt	Mon Mar 31 12:41:58 2025 +0100
@@ -1982,11 +1982,185 @@
 So 
   >: echo $((6418769 - 6414380))
   4389
+  >: fgrep -v warc.gz w2c_errs |wc -l
+  4389
 So lengths of lmh.cdb_in match, given that ks.tsv has string dates and
 lmh.cdb_in has dates successfully converted to numeric timestamps, and
 non-conversion counts match.
+
+Same for 15...
+  >: cut -f 2 ks_errs.tsv | sus
+     5420 cannot unpack non-iterable NoneType object
+     2670 list index out of range
+      113 year 641471 is out of range
+       20 year 641474 is out of range
+	9 hour must be in 0..23
+	9 year 642435 is out of range
+	3 year 642437 is out of range
+	1 year 4262575 is out of range
+	1 year 641769 is out of range
+	1 year 642434 is out of range
+  >: cut -f 2 <(sed 's/value or format .*/value or format/' w2c_errs)|fgrep -v warc.gz| sus
+     8090 Invalid date value or format
+      113 year 641471 is out of range
+       20 year 641474 is out of range
+	9 hour must be in 0..23
+	9 year 642435 is out of range
+	3 year 642437 is out of range
+	1 year 4262575 is out of range
+	1 year 641769 is out of range
+	1 year 642434 is out of range
+  >: wc -l ks_errs.tsv
+  8247 ks_errs.tsv
   >: fgrep -v warc.gz w2c_errs |wc -l
-  4389
+  8247
+  >: wc -l< lmh.cdb_in
+  5324617
+  >: seq 0 8 | parallel -j 9 'for i in {00..99}; do uz *00{}$i.warc.gz | fgrep -c "       "; done | btot | tee /dev/stderr' | btot
+  593009
+  591105
+  593544
+  591136
+  591189
+  594861
+  593214
+  592556
+  592249
+  5332863
+  >: echo $((5332863 - 5324616))
+  8247
+
+And for 1
+
+  >: seq 0 8 | parallel -j 9 'for i in {00..99}; do uz *00{}$i.warc.gz | fgrep -c "       "; done | btot | tee /dev/stderr' | btot
+  685262
+  686242
+  684822
+  684268
+  684967
+  684771
+  684520
+  685418
+  686420
+  6166690
+  >: wc -l < lmh.cdb_in
+  6160222
+  >: echo $((6166690 - 6160221))
+  6469
+  >: fgrep -v warc.gz w2c_errs |wc -l
+  6469
+
+And for 2?
+
+  >: wc -l {,surplus/}2/lmh.cdb_in
+    4670389 2/lmh.cdb_in
+      52530 surplus/2/lmh.cdb_in
+    4722919 total
+  sing<4564>: seq 0 8 | parallel -j 9 'for i in {00..99}; do uz 2/*00{}$i.warc.gz | fgrep -c "     "; done | btot | tee /dev/stderr' | btot
+  659931
+  658839
+  659020
+  660117
+  659896
+  659771
+  659374
+  660426
+  660040
+  5937414
+
+So surplus/2 is short?
+
+Maybe, but _2_ is short???
+
+  >: fgrep beegfs 2/w2c_errs |cut -f 8 -d / | tr -d \' | cut -f 5 -d - | cut -f 1 -d .|sort | parallel -j 9 'uz 2/*{}.warc.gz | fgrep -c "        " | tee /dev/stderr' | btot
+  4678728
+  >: echo $((4678728 - 4670388))
+  8340
+  >: fgrep -vh warc.gz 2/w2c_errs |wc -l
+  5130
+
+And so is 4???
+  >: fgrep beegfs 4/w2c_errs |cut -f 8 -d / | tr -d \' | cut -f 5 -d - | cut -f 1 -d .|wc -l
+  716
+  >: fgrep beegfs 4/w2c_errs |cut -f 8 -d / | tr -d \' | cut -f 5 -d - | cut -f 1 -d .|sort | parallel -j 9 'uz 4/*{}.warc.gz | fgrep -c "        "' |  btot
+  5003586
+  sing<4577>: fgrep -vh warc.gz 4/w2c_errs |wc -l
+  4890
+  sing<4578>: wc -l < 4/lmh.cdb_in
+  4975964
+  sing<4579>: echo $((5003586 - 4975963))
+  27623
+
+Mystery.  Just have to redo 2--14.
+Cirrus slurm doesn't allow forcing more than one node, e.g. with
+--nodes=2-7, says you should use --exclusive :-(
+
+So, just force it by hand
+
+  >: sbatch --output=slurm_w2c_2-7.out --time=04:00:00 --ntasks=7 -c 3 $HOME/bin/runme.sh $PWD -t 3 -i 'share_by_task.sh -s 2 7  $n $task' 'export PYTHONPATH=$W/hst/lib/python/cc:$W/hst/lib/python/cc/lmh
+echo $PYTHONPATH
+mkdir -p rerun/$arg
+python3 -c "import sys,warc2cdb; sys.exit(warc2cdb.main(*sys.argv[1:]))"  2023-40 $arg ./rerun 2> rerun/$arg/w2c_errs'
+
+  >: sbatch --output=slurm_w2c_8-14.out --time=04:00:00 --ntasks=7 -c 3 $HOME/bin/runme.sh $PWD -t 3 -i 'share_by_task.sh -s 8 14  $n $task' 'export PYTHONPATH=$W/hst/lib/python/cc:$W/hst/lib/python/cc/lmh
+echo $PYTHONPATH
+mkdir -p rerun/$arg
+python3 -c "import sys,warc2cdb; sys.exit(warc2cdb.main(*sys.argv[1:]))"  2023-40 $arg ./rerun 2> rerun/$arg/w2c_errs'
+
+  >: python3 -c "print((900.0/(626/6))*35)"
+  301.91693290734827
+
+Going too slowly, killed the 2nd one after 39 minutes with less than
+110 files processed by the first in 35 minutes, hope it might now just
+squeak in under 240 minutes ...
+
+  >: scancel --signal=HUP 7330184
+  >: python3 -c "print((900.0/(925/6))*45.5)"
+  265.62162162162167
+
+  >: python3 -c "print((900.0/(1058/6))*52.25)"
+  266.68241965973533
+
+Nope:
+  >: fgrep -ch beegfs rerun/{2..7}/w2c_errs
+  680
+  804
+  825
+  816
+  825
+  809
+  >: cd rerun
+  sing<4601>: for i in {2..7}; do fgrep beegfs $i/w2c_errs |cut -f 8 -d / | tr -d \' | cut -f 5 -d - | cut -f 1 -d .|sort | diff - <(seq -f '%05g' 0 899)|~/lib/python/cc/lmh/hack.py > $i.pat ; done
+  sing<4602>: less 2.pat
+  sing<4603>: fgrep -c warc.gz 4/w2c_errs
+  825
+  sing<4604>: cat 2.pat
+  {{680..899}}
+
+less than 10% speed-up after cancelling the 2nd job:
+  >: python3 -c "print((900.0/(4759/6))*240)"
+  272.32611893254887
+
+Rerun 4 separately to have one last go at debugging the problem with
+partial runs:
+
+  >: time python3 -c 'import sys,warc2cdb; sys.exit(warc2cdb.main(*sys.argv[1:]))'  2023-40 4 ./surplus 2> surplus/4/w2c_errs &
+  ./surplus/4/lmh.cdb_in
+
+  real    229m55.344s
+  user    164m5.765s
+  sys     11m24.657s
+
+Is 4/rerun/w2c_errs the same as surplus/4/w2c_errs through file 00824?
+Yes:
+  >: fgrep -c beegfs {rerun,surplus}/4/w2c_errs
+  rerun/4/w2c_errs:825
+  surplus/4/w2c_errs:900
+  >: diff -bw <(fgrep beegfs rerun/4/w2c_errs)  <(fgrep beegfs surplus/4/w2c_errs)|head -2
+  825a826,900
+  > /beegfs/common_crawl/CC-MAIN-2023-40/1695233511021.4/orig/warc/CC-MAIN-20231002200740-20231002230740-00825.warc.gz
+  >: diff -bw <(fgrep beegfs rerun/4/w2c_errs)  <(fgrep beegfs surplus/4/w2c_errs)|tail -1
+  > /beegfs/common_crawl/CC-MAIN-2023-40/1695233511021.4/orig/warc/CC-MAIN-20231002200740-20231002230740-00899.warc.gz
 ================
 
 Try it with the existing _per segment_ index we have for 2019-35