cleanup
This commit is contained in:
parent
d1328fd19a
commit
8be516402b
4 changed files with 390 additions and 402 deletions
39
db/db.go
39
db/db.go
|
@ -26,16 +26,16 @@ import (
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// Blochchain height / expiration constants
|
// Blochchain height / expiration constants
|
||||||
NOriginalClaimExpirationTime = 262974
|
OriginalClaimExpirationTime = 262974
|
||||||
NExtendedClaimExpirationTime = 2102400
|
ExtendedClaimExpirationTime = 2102400
|
||||||
NExtendedClaimExpirationForkHeight = 400155
|
ExtendedClaimExpirationForkHeight = 400155
|
||||||
NNormalizedNameForkHeight = 539940 // targeting 21 March 2019
|
NormalizedNameForkHeight = 539940 // targeting 21 March 2019
|
||||||
NMinTakeoverWorkaroundHeight = 496850
|
MinTakeoverWorkaroundHeight = 496850
|
||||||
NMaxTakeoverWorkaroundHeight = 658300 // targeting 30 Oct 2019
|
MaxTakeoverWorkaroundHeight = 658300 // targeting 30 Oct 2019
|
||||||
NWitnessForkHeight = 680770 // targeting 11 Dec 2019
|
WitnessForkHeight = 680770 // targeting 11 Dec 2019
|
||||||
NAllClaimsInMerkleForkHeight = 658310 // targeting 30 Oct 2019
|
AllClaimsInMerkleForkHeight = 658310 // targeting 30 Oct 2019
|
||||||
ProportionalDelayFactor = 32
|
ProportionalDelayFactor = 32
|
||||||
MaxTakeoverDelay = 4032
|
MaxTakeoverDelay = 4032
|
||||||
// Initial size constants
|
// Initial size constants
|
||||||
InitialTxCountSize = 1200000
|
InitialTxCountSize = 1200000
|
||||||
)
|
)
|
||||||
|
@ -440,7 +440,7 @@ func GetProdDB(name string, secondaryPath string) (*ReadOnlyDBColumnFamily, func
|
||||||
cfNames = append(cfNames, cfName)
|
cfNames = append(cfNames, cfName)
|
||||||
}
|
}
|
||||||
|
|
||||||
db, err := GetDBColumnFamlies(name, secondaryPath, cfNames)
|
db, err := GetDBColumnFamilies(name, secondaryPath, cfNames)
|
||||||
|
|
||||||
cleanup := func() {
|
cleanup := func() {
|
||||||
db.DB.Close()
|
db.DB.Close()
|
||||||
|
@ -455,21 +455,10 @@ func GetProdDB(name string, secondaryPath string) (*ReadOnlyDBColumnFamily, func
|
||||||
return nil, cleanup, err
|
return nil, cleanup, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wait for the height to be greater than zero
|
|
||||||
// for {
|
|
||||||
// ReadDBState(db)
|
|
||||||
// if db.LastState.Height > 0 {
|
|
||||||
// logrus.Infof("db height is > 0: %+v\n", db.LastState)
|
|
||||||
// break
|
|
||||||
// }
|
|
||||||
// time.Sleep(time.Millisecond * 100)
|
|
||||||
// logrus.Infof("Waiting for db height to be > 0: %+v\n", db.LastState)
|
|
||||||
// }
|
|
||||||
|
|
||||||
return db, cleanup, nil
|
return db, cleanup, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetDBColumnFamlies(name string, secondayPath string, cfNames []string) (*ReadOnlyDBColumnFamily, error) {
|
func GetDBColumnFamilies(name string, secondayPath string, cfNames []string) (*ReadOnlyDBColumnFamily, error) {
|
||||||
opts := grocksdb.NewDefaultOptions()
|
opts := grocksdb.NewDefaultOptions()
|
||||||
roOpts := grocksdb.NewDefaultReadOptions()
|
roOpts := grocksdb.NewDefaultReadOptions()
|
||||||
cfOpt := grocksdb.NewDefaultOptions()
|
cfOpt := grocksdb.NewDefaultOptions()
|
||||||
|
@ -591,7 +580,7 @@ func (db *ReadOnlyDBColumnFamily) RunDetectChanges(notifCh chan *internal.Height
|
||||||
log.Debug("DetectChanges:", db.LastState)
|
log.Debug("DetectChanges:", db.LastState)
|
||||||
lastPrint = time.Now()
|
lastPrint = time.Now()
|
||||||
}
|
}
|
||||||
err := db.DetectChanges(notifCh)
|
err := db.detectChanges(notifCh)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Infof("Error detecting changes: %#v", err)
|
log.Infof("Error detecting changes: %#v", err)
|
||||||
}
|
}
|
||||||
|
@ -606,7 +595,7 @@ func (db *ReadOnlyDBColumnFamily) RunDetectChanges(notifCh chan *internal.Height
|
||||||
}
|
}
|
||||||
|
|
||||||
// DetectChanges keep the rocksdb db in sync and handle reorgs
|
// DetectChanges keep the rocksdb db in sync and handle reorgs
|
||||||
func (db *ReadOnlyDBColumnFamily) DetectChanges(notifCh chan *internal.HeightHash) error {
|
func (db *ReadOnlyDBColumnFamily) detectChanges(notifCh chan *internal.HeightHash) error {
|
||||||
err := db.DB.TryCatchUpWithPrimary()
|
err := db.DB.TryCatchUpWithPrimary()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
16
db/db_get.go
16
db/db_get.go
|
@ -17,12 +17,12 @@ func GetExpirationHeight(lastUpdatedHeight uint32) uint32 {
|
||||||
|
|
||||||
func GetExpirationHeightFull(lastUpdatedHeight uint32, extended bool) uint32 {
|
func GetExpirationHeightFull(lastUpdatedHeight uint32, extended bool) uint32 {
|
||||||
if extended {
|
if extended {
|
||||||
return lastUpdatedHeight + NExtendedClaimExpirationTime
|
return lastUpdatedHeight + ExtendedClaimExpirationTime
|
||||||
}
|
}
|
||||||
if lastUpdatedHeight < NExtendedClaimExpirationForkHeight {
|
if lastUpdatedHeight < ExtendedClaimExpirationForkHeight {
|
||||||
return lastUpdatedHeight + NOriginalClaimExpirationTime
|
return lastUpdatedHeight + OriginalClaimExpirationTime
|
||||||
}
|
}
|
||||||
return lastUpdatedHeight + NExtendedClaimExpirationTime
|
return lastUpdatedHeight + ExtendedClaimExpirationTime
|
||||||
}
|
}
|
||||||
|
|
||||||
// EnsureHandle is a helper function to ensure that the db has a handle to the given column family.
|
// EnsureHandle is a helper function to ensure that the db has a handle to the given column family.
|
||||||
|
@ -274,7 +274,7 @@ func (db *ReadOnlyDBColumnFamily) GetActiveAmount(claimHash []byte, txoType uint
|
||||||
}
|
}
|
||||||
|
|
||||||
func (db *ReadOnlyDBColumnFamily) GetEffectiveAmount(claimHash []byte, supportOnly bool) (uint64, error) {
|
func (db *ReadOnlyDBColumnFamily) GetEffectiveAmount(claimHash []byte, supportOnly bool) (uint64, error) {
|
||||||
supportAmount, err := db.GetActiveAmount(claimHash, prefixes.ACTIVATED_SUPPORT_TXO_TYPE, db.Height+1)
|
supportAmount, err := db.GetActiveAmount(claimHash, prefixes.ActivatedSupportTXOType, db.Height+1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
@ -283,7 +283,7 @@ func (db *ReadOnlyDBColumnFamily) GetEffectiveAmount(claimHash []byte, supportOn
|
||||||
return supportAmount, nil
|
return supportAmount, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
activationAmount, err := db.GetActiveAmount(claimHash, prefixes.ACTIVATED_CLAIM_TXO_TYPE, db.Height+1)
|
activationAmount, err := db.GetActiveAmount(claimHash, prefixes.ActivateClaimTXOType, db.Height+1)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
}
|
}
|
||||||
|
@ -347,9 +347,9 @@ func (db *ReadOnlyDBColumnFamily) GetActivationFull(txNum uint32, postition uint
|
||||||
}
|
}
|
||||||
|
|
||||||
if isSupport {
|
if isSupport {
|
||||||
typ = prefixes.ACTIVATED_SUPPORT_TXO_TYPE
|
typ = prefixes.ActivatedSupportTXOType
|
||||||
} else {
|
} else {
|
||||||
typ = prefixes.ACTIVATED_CLAIM_TXO_TYPE
|
typ = prefixes.ActivateClaimTXOType
|
||||||
}
|
}
|
||||||
|
|
||||||
key := prefixes.NewActivationKey(typ, txNum, postition)
|
key := prefixes.NewActivationKey(typ, txNum, postition)
|
||||||
|
|
|
@ -606,20 +606,20 @@ func TestGetExpirationHeight(t *testing.T) {
|
||||||
var expHeight uint32 = 0
|
var expHeight uint32 = 0
|
||||||
|
|
||||||
expHeight = dbpkg.GetExpirationHeight(lastUpdated)
|
expHeight = dbpkg.GetExpirationHeight(lastUpdated)
|
||||||
if lastUpdated+dbpkg.NOriginalClaimExpirationTime != expHeight {
|
if lastUpdated+dbpkg.OriginalClaimExpirationTime != expHeight {
|
||||||
t.Errorf("Expected %d, got %d", lastUpdated+dbpkg.NOriginalClaimExpirationTime, expHeight)
|
t.Errorf("Expected %d, got %d", lastUpdated+dbpkg.OriginalClaimExpirationTime, expHeight)
|
||||||
}
|
}
|
||||||
|
|
||||||
lastUpdated = dbpkg.NExtendedClaimExpirationForkHeight + 1
|
lastUpdated = dbpkg.ExtendedClaimExpirationForkHeight + 1
|
||||||
expHeight = dbpkg.GetExpirationHeight(lastUpdated)
|
expHeight = dbpkg.GetExpirationHeight(lastUpdated)
|
||||||
if lastUpdated+dbpkg.NExtendedClaimExpirationTime != expHeight {
|
if lastUpdated+dbpkg.ExtendedClaimExpirationTime != expHeight {
|
||||||
t.Errorf("Expected %d, got %d", lastUpdated+dbpkg.NExtendedClaimExpirationTime, expHeight)
|
t.Errorf("Expected %d, got %d", lastUpdated+dbpkg.ExtendedClaimExpirationTime, expHeight)
|
||||||
}
|
}
|
||||||
|
|
||||||
lastUpdated = 0
|
lastUpdated = 0
|
||||||
expHeight = dbpkg.GetExpirationHeightFull(lastUpdated, true)
|
expHeight = dbpkg.GetExpirationHeightFull(lastUpdated, true)
|
||||||
if lastUpdated+dbpkg.NExtendedClaimExpirationTime != expHeight {
|
if lastUpdated+dbpkg.ExtendedClaimExpirationTime != expHeight {
|
||||||
t.Errorf("Expected %d, got %d", lastUpdated+dbpkg.NExtendedClaimExpirationTime, expHeight)
|
t.Errorf("Expected %d, got %d", lastUpdated+dbpkg.ExtendedClaimExpirationTime, expHeight)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue