Known Issues and Limitations

Following are known issues, limitations, and changes to default behavior in HEAVY.AI.

HeavyDB

HeavyDB supports only Web Mercator projection

Because HeavyDB supports Web Mercator projection only, applications that use coordinates other than Web Mercator may not render data accurately on their maps.

Variable length types are not supported when performing columnar conversion

Whenever the result of a query is going to be used for another query (for example, CREATE TABLE AS SELECT, any multi-step query, and so on), HEAVY.AI performs columnar conversion to change the intermediate results into proper columnar format that all HEAVY.AI queries expect as input. Variable length types, including all geometry targets, are not supported when performing columnar conversion.

Do not set BLOSC_* environment variables

HEAVY.AI uses a compression library called BLOSC that reads operating system environment variables and changes behavior according to those variables. Do not set any of the environment variables listed below.

BLOSC_CLEVE
BLOSC_SHUFFLE
BLOSC_TYPESIZE
BLOSC_COMPRESSOR
BLOSC_NTHREADS
BLOSC_BLOCKSIZE
BLOSC_NOLOCK
BLOSC_SPLITMODE

Possible integer overflow on select count(*) for tables with more than 2^32 rows

To prevent return of negative counts, set bigint-count = true in heavyai.conf.

UPDATE limitations

  • HEAVY.AI does not currently support UPDATE from a subquery. For example, the following will not work:

    UPDATE tempDataView SET marks = ( SELECT marks FROM tempData b WHERE tempDataView.Name = b.Name )
  • UPDATE is not currently supported on variable-length data types.

CUDA error on NVIDIA DGX systems

On NVIDIA DGX systems, you might get the following error:

2021-05-14T15:56:16.571249 E 40446 0 DBHandler.cpp:403 Unable to instantiate CudaMgr, falling back to CPU-only mode. CUDA Error (999): unknown error

This error occurs if no fabric manager is installed on the system. To resolve the issue, install the fabric manager on the system.

HEAVY.AI Rendering Engine

Sizing points by meters at large zoom levels introduces error

When evaluating the new convert_meters_to_pixel_width and convert_meters_to_pixel_height extension functions for accuracy against circular polygons created with ST_Buffer in other packages, some errors are introduced by the extension functions somewhere at large zoom levels.

The resulting point/symbol sized by meters is just an approximate. It does not represent the exact area on the globe. There is more error in the approximate as you get closer to the poles in a mercator-projected view: a circle defined in meters should become egg-shaped, whereas the current symbol remains elliptical.

Workaround: If your clients are going to use these extension functions, HEAVY.AI recommends you use the legacysymbol vega mark type if the size in meters is large and zooming in close is useful for your analysis.

Heavy Immerse

High-precision timestamp limitation

You can import higher-precision timestamps (3, 6, 9, milli, micro, nano, rather than the default of seconds) via the data manager, but you cannot use them as a part of the actual queries or filters for a chart (as opposed to displaying them as results). For example, you cannot use a high-precision timestamp as the time dimension for a combo chart.

Dashboard sharing limitations

  • Dashboards can be shared only as 'read-only'. Users with whom a dashboard has been shared cannot currently make edits to the dashboard.

  • For security reasons, dashboard sharing does not automatically provide permissions on underlying tables/views. For now, this requires a one-time setup by a superuser/administrative to configure a group of users or a role with permissions on the underlying objects.

  • Dashboard sharing does not currently work in HEAVY.AI Cloud because each HEAVY.AI Cloud user currently has a dedicated HEAVY.AI instance. This limitation will be addressed in a future release.

Dashboards loaded by ID instead of name

If your HEAVY.AI instance is set up to autoload specific dashboards on login by specifying the name in servers.json, you need to update the entry to use the dashboard ID instead. If you do not, your dashboards will not autoload. Find the dashboard ID by running `\dash` from heavysql, and then update the servers.json entry accordingly:

[
   {
     "database": "omnisci",
     "master": "true",
     "username": "user",
     "password": "HyperInteractive",
     "url": "http://webserver.com:9092",
     "loadDashboard": "740",
     "GTM": "GTM-MDD8888"
   }
]

Last updated