qlik-oss / enigma-go

Go library for consuming Qlik's Associative Engine.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Not wrapping engine 7002 error on GetLayout for objects with large amount of data

avb-qlik opened this issue · comments

Description

Enigma-go is not wrapping engine 7002 error on GetLayout for objects with large amount of data.
To be more specific: https://github.com/qlik-oss/enigma-go/blob/master/qix_generated.go#L3082

Steps to Reproduce

  1. GetObject with the id of a pivot-table of millions of cells
  2. Call ExpandLeft with all parameter set to true https://github.com/qlik-oss/enigma-go/blob/master/qix_generated.go#L10010 . No errors are returned.
  3. Call GetLayout . The layout of the object is returned with an HyperCube.Size set to zero and a property Error set to 7002 with no description. No errors are returned.
Expected behavior

On point 3 I would expect to get an enigma-go error with 7002 code (https://github.com/qlik-oss/enigma-go/blob/master/qix_generated.go#L3082

Actual behavior

No errors are returned from the GetLayout call.
Causing some possible subsequent calls to fail with other error codes (like 6002 invalid layout).

Environment

Operating system
[ ] Windows
[ ] OSX
[x] Linux

Versions

  • Version of Go (go version): go 1.13
  • [Other relevant versions]

Hi @avb-qlik , I agree that the error is not that evident when placed in an Error property, but that is how the protocol is designed. Since a generic object also can contain multiple hypercubes, a GetLayout is not necessarily considered failed if only one hypercube is erroring.

Basically enigma-go and enigma.js is wrapping the Engine JSON-RPC API, so from my perspective this seems to be working as designed.
Let me know if you disagree or if I have misinterpreted your expected behaviour.

Hi @wennmo, it makes sense since charts can have multiple hypercubes and it’s a common scenario. I got the point.
We can close the issue as WAD then.
Thanks