cleanup
This commit is contained in:
		| @@ -1,67 +0,0 @@ | ||||
| package mdb | ||||
|  | ||||
| /* | ||||
| func (db *Database) openPrimary() (err error) { | ||||
| 	wal, err := cwal.Open(db.walRootDir, cwal.Config{ | ||||
| 		SegMinCount:  db.conf.WALSegMinCount, | ||||
| 		SegMaxAgeSec: db.conf.WALSegMaxAgeSec, | ||||
| 	}) | ||||
|  | ||||
| 	pFile, err := pfile.Open(db.pageFilePath, | ||||
|  | ||||
| 	pFile, err := openPageFileAndReplayWAL(db.rootDir) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	defer pFile.Close() | ||||
|  | ||||
| 	pfHeader, err := pFile.ReadHeader() | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	tx := db.Snapshot() | ||||
| 	tx.seqNum = pfHeader.SeqNum | ||||
| 	tx.updatedAt = pfHeader.UpdatedAt | ||||
|  | ||||
| 	pIndex, err := pagefile.NewIndex(pFile) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	err = pFile.IterateAllocated(pIndex, func(cID, iID uint64, data []byte) error { | ||||
| 		return db.loadItem(tx, cID, iID, data) | ||||
| 	}) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	w, err := cwal.OpenWriter(db.walRootDir, &cwal.WriterConfig{ | ||||
| 		SegMinCount:  db.conf.WALSegMinCount, | ||||
| 		SegMaxAgeSec: db.conf.WALSegMaxAgeSec, | ||||
| 	}) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	db.done.Add(1) | ||||
| 	go txAggregator{ | ||||
| 		Stop:     db.stop, | ||||
| 		Done:     db.done, | ||||
| 		ModChan:  db.modChan, | ||||
| 		W:        w, | ||||
| 		Index:    pIndex, | ||||
| 		Snapshot: db.snapshot, | ||||
| 	}.Run() | ||||
|  | ||||
| 	db.done.Add(1) | ||||
| 	go (&fileWriter{ | ||||
| 		Stop:         db.stop, | ||||
| 		Done:         db.done, | ||||
| 		PageFilePath: db.pageFilePath, | ||||
| 		WALRootDir:   db.walRootDir, | ||||
| 	}).Run() | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
| */ | ||||
| @@ -1,129 +0,0 @@ | ||||
| package mdb | ||||
|  | ||||
| /* | ||||
| func (db *Database) openSecondary() (err error) { | ||||
| 	if db.shouldLoadFromPrimary() { | ||||
| 		if err := db.loadFromPrimary(); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	log.Printf("Opening page-file...") | ||||
|  | ||||
| 	pFile, err := openPageFileAndReplayWAL(db.rootDir) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	defer pFile.Close() | ||||
|  | ||||
| 	pfHeader, err := pFile.ReadHeader() | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	log.Printf("Building page-file index...") | ||||
|  | ||||
| 	pIndex, err := pagefile.NewIndex(pFile) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	tx := db.Snapshot() | ||||
| 	tx.seqNum = pfHeader.SeqNum | ||||
| 	tx.updatedAt = pfHeader.UpdatedAt | ||||
|  | ||||
| 	log.Printf("Loading data into memory...") | ||||
|  | ||||
| 	err = pFile.IterateAllocated(pIndex, func(cID, iID uint64, data []byte) error { | ||||
| 		return db.loadItem(tx, cID, iID, data) | ||||
| 	}) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	log.Printf("Creating writer...") | ||||
|  | ||||
| 	w, err := cswal.OpenWriter(db.walRootDir, &cswal.WriterConfig{ | ||||
| 		SegMinCount:  db.conf.WALSegMinCount, | ||||
| 		SegMaxAgeSec: db.conf.WALSegMaxAgeSec, | ||||
| 	}) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
|  | ||||
| 	db.done.Add(1) | ||||
| 	go (&walFollower{ | ||||
| 		Stop:   db.stop, | ||||
| 		Done:   db.done, | ||||
| 		W:      w, | ||||
| 		Client: NewClient(db.conf.PrimaryURL, db.conf.ReplicationPSK, db.conf.NetTimeout), | ||||
| 	}).Run() | ||||
|  | ||||
| 	db.done.Add(1) | ||||
| 	go (&follower{ | ||||
| 		Stop:         db.stop, | ||||
| 		Done:         db.done, | ||||
| 		WALRootDir:   db.walRootDir, | ||||
| 		SeqNum:       pfHeader.SeqNum, | ||||
| 		ApplyChanges: db.applyChanges, | ||||
| 	}).Run() | ||||
|  | ||||
| 	db.done.Add(1) | ||||
| 	go (&fileWriter{ | ||||
| 		Stop:         db.stop, | ||||
| 		Done:         db.done, | ||||
| 		PageFilePath: db.pageFilePath, | ||||
| 		WALRootDir:   db.walRootDir, | ||||
| 	}).Run() | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (db *Database) shouldLoadFromPrimary() bool { | ||||
| 	if _, err := os.Stat(db.walRootDir); os.IsNotExist(err) { | ||||
| 		log.Printf("WAL doesn't exist.") | ||||
| 		return true | ||||
| 	} | ||||
| 	if _, err := os.Stat(db.pageFilePath); os.IsNotExist(err) { | ||||
| 		log.Printf("Page-file doesn't exist.") | ||||
| 		return true | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
|  | ||||
| func (db *Database) loadFromPrimary() error { | ||||
| 	client := NewClient(db.conf.PrimaryURL, db.conf.ReplicationPSK, db.conf.NetTimeout) | ||||
| 	defer client.Disconnect() | ||||
|  | ||||
| 	log.Printf("Loading data from primary...") | ||||
|  | ||||
| 	if err := os.RemoveAll(db.pageFilePath); err != nil { | ||||
| 		log.Printf("Failed to remove page-file: %s", err) | ||||
| 		return errs.IO.WithErr(err) // Caller can retry. | ||||
| 	} | ||||
|  | ||||
| 	if err := os.RemoveAll(db.walRootDir); err != nil { | ||||
| 		log.Printf("Failed to remove WAL: %s", err) | ||||
| 		return errs.IO.WithErr(err) // Caller can retry. | ||||
| 	} | ||||
|  | ||||
| 	err := client.DownloadPageFile(db.pageFilePath+".tmp", db.pageFilePath) | ||||
| 	if err != nil { | ||||
| 		log.Printf("Failed to get page-file from primary: %s", err) | ||||
| 		return err // Caller can retry. | ||||
| 	} | ||||
|  | ||||
| 	pfHeader, err := pagefile.ReadHeader(db.pageFilePath) | ||||
| 	if err != nil { | ||||
| 		log.Printf("Failed to read page-file sequence number: %s", err) | ||||
| 		return err // Caller can retry. | ||||
| 	} | ||||
|  | ||||
| 	if err = cswal.CreateEx(db.walRootDir, pfHeader.SeqNum+1); err != nil { | ||||
| 		log.Printf("Failed to initialize WAL: %s", err) | ||||
| 		return err // Caller can retry. | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
| */ | ||||
		Reference in New Issue
	
	Block a user