master
jdl 2022-07-25 23:21:06 +02:00
parent 0e0050db9e
commit 9fc5029a33
2 changed files with 7 additions and 2 deletions

View File

@ -4,6 +4,9 @@ An in-process, in-memory database for Go.
## TO DO
* [ ] wal: shipping_test: secondary too far behind
* [ ] wal: writer_test: call RecvWAL twice
* [ ] wal: writer_test double start / stop
* [ ] kvstore: tests
* [ ] wal: writer lock via flock?

View File

@ -138,6 +138,8 @@ func (w *Writer) RecvWAL(conn net.Conn) {
}
defer w.recvLock.Unlock()
timeout := 16 * time.Second
headerBuf := make([]byte, recHeaderSize)
buf := make([]byte, 8)
@ -145,7 +147,7 @@ func (w *Writer) RecvWAL(conn net.Conn) {
expectedSeqNum := afterSeqNum + 1
// Send fromID to the conn.
conn.SetWriteDeadline(time.Now().Add(time.Minute))
conn.SetWriteDeadline(time.Now().Add(timeout))
binary.LittleEndian.PutUint64(buf, afterSeqNum)
if _, err := conn.Write(buf); err != nil {
log.Printf("RecvWAL failed to send after sequence number: %v", err)
@ -158,7 +160,7 @@ func (w *Writer) RecvWAL(conn net.Conn) {
defer w.stop()
for {
conn.SetReadDeadline(time.Now().Add(time.Minute))
conn.SetReadDeadline(time.Now().Add(timeout))
if _, err := conn.Read(headerBuf); err != nil {
log.Printf("RecvWAL failed to read header: %v", err)
return