Skip to content

Unnecessary "LZ4 module not installed" warning #300

@Stuksi

Description

@Stuksi

Issue Description

The LZ4 module not installed: Missing dependency Error: Cannot find module 'lz4' warning is unnecessary for machines that do not required the package

Steps to Reproduce

  • Use @databricks/sql v1.11.0 in a Node.js 20.x environment
  • Execute any operation that uses the library's connection functionality

Current Behavior

A warning is shown indicating the missing dependency

LZ4 module not installed: Missing dependency Error: Cannot find module 'lz4'
Require stack:
- ...\node_modules\@databricks\sql\dist\utils\lz4.js
- ...\node_modules\@databricks\sql\dist\utils\index.js
- ...\node_modules\@databricks\sql\dist\result\ArrowResultHandler.js
- ...\node_modules\@databricks\sql\dist\DBSQLOperation.js
- ...\node_modules\@databricks\sql\dist\DBSQLSession.js
- ...\node_modules\@databricks\sql\dist\DBSQLClient.js
- ...\node_modules\@databricks\sql\dist\index.js
- ...
    at Function._resolveFilename (node:internal/modules/cjs/loader:1401:15)
    at defaultResolveImpl (node:internal/modules/cjs/loader:1057:19)
    at resolveForCJSWithHooks (node:internal/modules/cjs/loader:1062:22)
    at Function._load (node:internal/modules/cjs/loader:1211:37)
    at TracingChannel.traceSync (node:diagnostics_channel:322:14)
    at wrapModuleLoad (node:internal/modules/cjs/loader:235:24)
    at Module.require (node:internal/modules/cjs/loader:1487:12)
    at require (node:internal/modules/helpers:135:16)
    at tryLoadLZ4Module (...\node_modules\@databricks\sql\dist\utils\lz4.js:5:16)
    at Object.<anonymous> (...\node_modules\@databricks\sql\dist\utils\lz4.js:25:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '...\\node_modules\\@databricks\\sql\\dist\\utils\\lz4.js',
    '...\\node_modules\\@databricks\\sql\\dist\\utils\\index.js',
    '...\\node_modules\\@databricks\\sql\\dist\\result\\ArrowResultHandler.js',
    '...\\node_modules\\@databricks\\sql\\dist\\DBSQLOperation.js',
    '...\\node_modules\\@databricks\\sql\\dist\\DBSQLSession.js',
    '...\\node_modules\\@databricks\\sql\\dist\\DBSQLClient.js',
    '...\\node_modules\\@databricks\\sql\\dist\\index.js',
    '...',
  ]
}

Expected Behavior

Systems that do not require the optional dependency should not show the warning

Environment Information

  • Node.js Version: 20.x
  • @databricks/sql Version: 1.11.0
  • Runtime Environment: Windows 11 Pro 64 bit 10.0 Build 22631

Impact

The warning message is misleading
It does not block the rest of the functionalities of the package

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions