wp
This commit is contained in:
132
database/api.go
132
database/api.go
@@ -278,39 +278,39 @@ func (s *Database) GetMetric(conn io.Writer, req proto.GetMetricReq) error {
|
||||
}
|
||||
|
||||
func (s *Database) DeleteMetric(req proto.DeleteMetricReq) uint16 {
|
||||
resultCh := make(chan worker.DeleteMetricResult, 1)
|
||||
// resultCh := make(chan worker.DeleteMetricResult, 1)
|
||||
|
||||
s.workerInbox.Push(worker.DeleteMetricReq{
|
||||
MetricID: req.MetricID,
|
||||
ResultCh: resultCh,
|
||||
})
|
||||
// s.workerInbox.Push(worker.DeleteMetricReq{
|
||||
// MetricID: req.MetricID,
|
||||
// ResultCh: resultCh,
|
||||
// })
|
||||
|
||||
result := <-resultCh
|
||||
// result := <-resultCh
|
||||
|
||||
switch result.ResultCode {
|
||||
case worker.Succeed:
|
||||
// var (
|
||||
// //freePageNumbers []uint32
|
||||
// )
|
||||
// if result.RootPageNo > 0 {
|
||||
// var err error
|
||||
// freePageNumbers, err = s.atree.GetAllPages(result.RootPageNo)
|
||||
// if err != nil {
|
||||
// qb.Abort(qb.FailedAtreeRequest, err)
|
||||
// }
|
||||
// }
|
||||
// s.storage.Append(storage.DeletedMetric{
|
||||
// MetricID: req.MetricID,
|
||||
// //FreePageNumbers: freePageNumbers, FIX
|
||||
// })
|
||||
//<-waitCh
|
||||
// switch result.ResultCode {
|
||||
// case worker.Succeed:
|
||||
// // var (
|
||||
// // //freePageNumbers []uint32
|
||||
// // )
|
||||
// // if result.RootPageNo > 0 {
|
||||
// // var err error
|
||||
// // freePageNumbers, err = s.atree.GetAllPages(result.RootPageNo)
|
||||
// // if err != nil {
|
||||
// // qb.Abort(qb.FailedAtreeRequest, err)
|
||||
// // }
|
||||
// // }
|
||||
// // s.storage.Append(storage.DeletedMetric{
|
||||
// // MetricID: req.MetricID,
|
||||
// // //FreePageNumbers: freePageNumbers, FIX
|
||||
// // })
|
||||
// //<-waitCh
|
||||
|
||||
case worker.NoMetric:
|
||||
return proto.ErrNoMetric
|
||||
// case worker.NoMetric:
|
||||
// return proto.ErrNoMetric
|
||||
|
||||
default:
|
||||
qb.Abort(qb.WrongResultCodeBug, ErrWrongResultCodeBug)
|
||||
}
|
||||
// default:
|
||||
// qb.Abort(qb.WrongResultCodeBug, ErrWrongResultCodeBug)
|
||||
// }
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -363,7 +363,7 @@ func (s *Database) AppendMeasures(conn io.Writer, req proto.AppendMeasuresReq) e
|
||||
}
|
||||
|
||||
func (s *Database) DeleteMeasures(req proto.DeleteMeasuresReq) uint16 {
|
||||
resultCh := make(chan worker.DeleteMeasuresResult, 1)
|
||||
resultCh := make(chan byte, 1)
|
||||
|
||||
s.workerInbox.Push(worker.DeleteMeasuresReq{
|
||||
MetricID: req.MetricID,
|
||||
@@ -373,36 +373,38 @@ func (s *Database) DeleteMeasures(req proto.DeleteMeasuresReq) uint16 {
|
||||
|
||||
result := <-resultCh
|
||||
|
||||
switch result.ResultCode {
|
||||
case worker.NoMeasuresToDelete:
|
||||
// ok
|
||||
_ = result
|
||||
|
||||
//case worker.DeleteFromAtreeNotNeeded:
|
||||
// регистрирую удаление в TransactionLog
|
||||
// s.storage.Append(storage.MeasuresDeleteRecord{
|
||||
// MetricID: req.MetricID,
|
||||
// })
|
||||
//<-waitCh
|
||||
// switch result.ResultCode {
|
||||
// case worker.NoMeasuresToDelete:
|
||||
// // ok
|
||||
|
||||
//case worker.DeleteFromAtreeRequired:
|
||||
// собираю номера всех data и index страниц метрики (типа запись REDO лога).
|
||||
// pageNumbers, err := s.atree.GetAllPages(req.MetricID)
|
||||
// if err != nil {
|
||||
// qb.Abort(qb.FailedAtreeRequest, err)
|
||||
// }
|
||||
// //case worker.DeleteFromAtreeNotNeeded:
|
||||
// // регистрирую удаление в TransactionLog
|
||||
// s.storage.Append(storage.DeletedMeasures{
|
||||
// MetricID: req.MetricID,
|
||||
// FreePageNumbers: pageNumbers,
|
||||
// })
|
||||
//<-waitCh
|
||||
// // s.storage.Append(storage.MeasuresDeleteRecord{
|
||||
// // MetricID: req.MetricID,
|
||||
// // })
|
||||
// //<-waitCh
|
||||
|
||||
case worker.NoMetric:
|
||||
return proto.ErrNoMetric
|
||||
// //case worker.DeleteFromAtreeRequired:
|
||||
// // собираю номера всех data и index страниц метрики (типа запись REDO лога).
|
||||
// // pageNumbers, err := s.atree.GetAllPages(req.MetricID)
|
||||
// // if err != nil {
|
||||
// // qb.Abort(qb.FailedAtreeRequest, err)
|
||||
// // }
|
||||
// // // регистрирую удаление в TransactionLog
|
||||
// // s.storage.Append(storage.DeletedMeasures{
|
||||
// // MetricID: req.MetricID,
|
||||
// // FreePageNumbers: pageNumbers,
|
||||
// // })
|
||||
// //<-waitCh
|
||||
|
||||
default:
|
||||
qb.Abort(qb.WrongResultCodeBug, ErrWrongResultCodeBug)
|
||||
}
|
||||
// case worker.NoMetric:
|
||||
// return proto.ErrNoMetric
|
||||
|
||||
// default:
|
||||
// qb.Abort(qb.WrongResultCodeBug, ErrWrongResultCodeBug)
|
||||
// }
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -616,17 +618,17 @@ func (s *Database) fullScan(req fullScanReq) error {
|
||||
req.ResponseWriter.Close()
|
||||
|
||||
case worker.UntilFound:
|
||||
// err := s.atree.ContinueFullScan(atree.ContinueFullScanReq{
|
||||
// FracDigits: result.FracDigits,
|
||||
// ResponseWriter: req.ResponseWriter,
|
||||
// LastPageNo: result.LastPageNo,
|
||||
// })
|
||||
// s.worker.AddJobToQueue(req.MetricID)
|
||||
// if err != nil {
|
||||
// reply(req.Conn, proto.ErrUnexpected)
|
||||
// } else {
|
||||
// req.ResponseWriter.Close()
|
||||
// }
|
||||
err := s.atree.ContinueFullScan(atree.ContinueFullScanReq{
|
||||
FracDigits: result.FracDigits,
|
||||
ResponseWriter: req.ResponseWriter,
|
||||
LastPageNo: result.LastPageNo,
|
||||
})
|
||||
//s.worker.AddJobToQueue(req.MetricID) // FIX release rlock
|
||||
if err != nil {
|
||||
reply(req.Conn, proto.ErrUnexpected)
|
||||
} else {
|
||||
req.ResponseWriter.Close()
|
||||
}
|
||||
|
||||
case worker.NoMetric:
|
||||
reply(req.Conn, proto.ErrNoMetric)
|
||||
|
||||
Reference in New Issue
Block a user