google / trillian

A transparent, highly scalable and cryptographically verifiable data store.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Data Added to Preordered Log but Api not returning value

gremlin97 opened this issue · comments

  • Hi, when using getLeafByIndex to fetch data from the preordered log I am getting a nil response.
    However, when I check in adminer the data is appended to the log.

  • Code Snippet:

//Get latest preference for a given customer number
func (tlc *trillianMapClient) getlatestPref(num int64, tc *trillianLogClient) (*preferenceproto.PostPreferenceRequest, int64) {

	last, prev := tlc.travserseSmt(num)
	_ = prev
	index := last
	fmt.Println("Leaf Index is:", index)
	var data *preferenceproto.PostPreferenceRequest
	//Struct for leaf request by index
	getLeafReq := &trillian.GetLeavesByIndexRequest{
		LogId:     *tPlogID,
		LeafIndex: []int64{index},
	}
	//Querying trillian  preordered log to get leaf by index
	getLeafResp, _ := tc.client.GetLeavesByIndex(context.Background(), getLeafReq)
	leafRespData := getLeafResp.GetLeaves()
	fmt.Printf("Leaf Response for querry is--------%v\n", getLeafResp)
	for _, logleaf := range leafRespData {
		leafData := logleaf.GetLeafValue()
		//leafcheckindex := logleaf.LeafIndex
		fmt.Printf("---------Leaf Data is--------%v\n", leafData)
		//println("Leaf Data Index is--------", leafcheckindex)
		err := json.Unmarshal(leafData, &data)
		fmt.Println("Data Response", data)
		if err != nil {
			log.Println("Error parsing", err)
		}
	}

	return data, index
}

  • Can you please help me to resolve this error. Thanks!

The issue was resolved after fixing the log type to preordered.