8.3.2.23. v4.3.2ΒΆ

commit 2517c26779cdc787821415891439053be4014e7c
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sat Jun 13 23:40:19 2020 -0500

    fix(dhcp): fix unit tests

M   go.mod
M   go.sum

commit 3265184510c743649f3df46b1de9f962e0543f8e
Author: Greg Althaus <galthaus@austin.rr.com>
Date:   Sat Jun 13 16:45:27 2020 -0500

    build: update to v4.3.1 refs

M   go.mod
M   go.sum

commit ab29a14744d09f1808d64eb008be555490a383f0
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Fri Jun 12 15:42:09 2020 -0500

    fix(dhcp): Fix a deadlock triggered by high DHCP traffic.

    When checking to see if a read would deadlock, missed a case where we
    could have crossed read/write dependencies that lead to a deadlock in
    unblockRunnable.  Add code to handle that case and a unit test to
    verify that it works properly.

    The Address and ActiveAddress subnet indexes have never worked
    properly.  This updates the index definitions to allow easy searching
    for subnets that have cover addresses and active lease range
    addresses. It has a side effect of making the Address and
    ActiveAddress indexex unordered, but there aren't good ordering
    semantics for picking what is basically an address match in any case.

    Lease validation on a save was being stupid and checking every lease
    one by one to see if there were conflicting strategy/token settings,
    when there are (now) perfectly good indexes that we can query for that
    and avoid having to touch every lease during the transaction.

M   backend/lease.go
M   backend/subnet.go
M   clitest/test-data/output/TestCorePieces/subnets.indexes/stdout.expect
M   go.mod
M   go.sum
M   transact/tx.go
M   transact/tx_test.go

commit 9940803ae4b978e3023b296a43aa60c42f3782d8
Author: Victor Lowther <victor.lowther@gmail.com>
Date:   Thu Jun 11 08:47:06 2020 -0500

    perf(content): Save content bundles as JSON instead of YAML.

    It turns out that the overhead of serializing an uploaded and
    validated content bundle of significant size can account for around a
    quarter to a third of the time it takes a drpcli contents upload call
    to finish -- on an internal bundle for one of our larger customers, a
    perf trace showed that marshalling to YAML took around 45 seconds of
    CPU times on a 1 megabyte content bundle.  Switching to JSON took 6
    seconds of CPU time, with room for additional optimization.

M   datastack/content.go

End of Note