diff --git a/core/batch.go b/core/batch.go index 445ec64a1..aec3ce059 100644 --- a/core/batch.go +++ b/core/batch.go @@ -38,13 +38,15 @@ func (self *Service) Batch(database_name, frame, compressed_bitmap string, bitma oslice := database.GetOrCreateSlice(slice) //need to find processid and fragment id for that slice - fragment, _ := database.GetFragmentForBitmap(oslice, &db.Bitmap{bitmap_id, frame}) - id := uuid.RandomUUID() - batch := db.Message{Data: BatchRequest{Id: &id, Source: self.Id, Fragment_id: fragment.GetId(), Bitmap_id: bitmap_id, Compressed_bitmap: compressed_bitmap}} - dest_id := fragment.GetProcess().Id() - self.Transport.Send(&batch, &dest_id) + fragment, err := database.GetFragmentForBitmap(oslice, &db.Bitmap{bitmap_id, frame}) + if err == nil { + id := uuid.RandomUUID() + batch := db.Message{Data: BatchRequest{Id: &id, Source: self.Id, Fragment_id: fragment.GetId(), Bitmap_id: bitmap_id, Compressed_bitmap: compressed_bitmap}} + dest_id := fragment.GetProcess().Id() + self.Transport.Send(&batch, &dest_id) - _, err := self.Hold.Get(&id, 60) + _, err := self.Hold.Get(&id, 60) + } return err } diff --git a/index/fragment_container_test.go b/index/fragment_container_test.go index ab43c01bc..e769b1ff0 100644 --- a/index/fragment_container_test.go +++ b/index/fragment_container_test.go @@ -151,6 +151,8 @@ func TestFragment(t *testing.T) { Convey("store ", t, func() { b := uint64(1029) compressed := "H4sIAAAJbogA/2JmYRBQ+9/IzMjI6pxRmpfN+L+JgZGJkdk7tZKRjYGRNSwxpzSV8X8LAwOD8v9moDIup5z85GzHoqLESpAwI1AjWITxfxtQjdT/VqAIV7SxUWxpZl6JmQlImJGN0YGB4R+j+v8mJkaFH/8h4B+M8X+UgcwAhZTm/yZgMCLCarC4bbAxYGHFNBpWBBmwsGIeDSuCDFhYsYyGFUEGLKxYR8OKIAMWVmyjYUWQwcDwfyYwqNgHLKjk4Q7BBAAAAAD//wEAAP//QNipzzcJAAA=" + // compressed := "H4sIAAAJbogA/2JmYWBS+9/IzMjI6pxRmpfN+L+JgZGJkdk7tZKRjYGRNSwxpzSV8X8LAwOD8v9moDIup5z85GzHoqLESpAwI1AjWITxfxtQjdT/VqAIV7SxUWxpZl6JmQlImJGN0YGBweN/E+M/RgdGRoUf/6EAk/GbGUQy4AUAAAAA//8BAAD//2vjG9ezAAAA" + dummy.LoadBitmap(brand, b, compressed) bh1, _ := dummy.Get(brand, b) before, _ := dummy.Count(brand, bh1)