cube-js/cube · error

Unsupported export bucket type: ${this.config.bucketType}

Error message

Unsupported export bucket type: ${this.config.bucketType}

What it means

unload (used by Cube Store to export query results to a bucket) validates the configured bucketType against SUPPORTED_BUCKET_TYPES and throws immediately if it is unsupported. The Databricks driver only supports the export bucket types it has extraction code for (e.g. S3, Azure, GCS).

Source

Thrown at packages/cubejs-databricks-jdbc-driver/src/DatabricksDriver.ts:773

    }

    return DatabricksToGenericType[columnType.toLowerCase()] || super.toGenericType(columnType, precision, scale);
  }

  /**
   * Determines whether export bucket feature is configured or not.
   */
  public async isUnloadSupported() {
    return this.config.exportBucket !== undefined;
  }

  /**
   * Returns to the Cubestore an object with links to unloaded to an
   * export bucket data.
   */
  public async unload(tableName: string, options: UnloadOptions) {
    if (!SUPPORTED_BUCKET_TYPES.includes(this.config.bucketType as string)) {
      throw new Error(`Unsupported export bucket type: ${
        this.config.bucketType
      }`);
    }
    const tableFullName = `${
      this.config.catalog
        ? `${this.config.catalog}.`
        : ''
    }${tableName}`;
    const types = options.query
      ? await this.unloadWithSql(
        tableFullName,
        options.query.sql,
        options.query.params,
      )
      : await this.unloadWithTable(tableFullName);
    const csvFile = await this.getCsvFiles(tableFullName);
    return {
      exportBucketCsvEscapeSymbol: this.config.exportBucketCsvEscapeSymbol,

View on GitHub (pinned to 7d981676b3)

Solutions

  1. Set exportBucket.type in cube.js to a supported value (check SUPPORTED_BUCKET_TYPES in the driver, e.g. s3, azure, gcs)
  2. Fix typos in bucketType and make sure the matching credentials block (s3Credentials/azureCredentials/gcsCredentials) is present
  3. Verify the cube.js version supports your desired bucket type; upgrade if the type was added later

Example fix

// before
exportBucket: { type: 'google' }
// after
exportBucket: { type: 'gcs', gcsCredentials: { credentials: {...} } }
Defensive patterns

Strategy: validation

Validate before calling

const SUPPORTED = ['s3','azure','gcs']; // check SUPPORTED_BUCKET_TYPES for your driver version
const bucketType = conf.exportBucket?.type;
if (!SUPPORTED.includes(bucketType)) throw new Error(`exportBucket.type '${bucketType}' not supported by databricks driver`);

Try / catch

try {
  await driver.unload(tableName, options);
} catch (e) {
  if (e.message.startsWith('Unsupported export bucket type')) {
    // correct exportBucket config and restart orchestrator
  }
  throw e;
}

Prevention

When it happens

Trigger: A pre-aggregation unload runs while this.config.bucketType is undefined or set to a value not in SUPPORTED_BUCKET_TYPES.

Common situations: Missing exportBucket configuration in cube.js; typo'd bucketType (e.g. 'gcs' vs 'gs' or 'azure-blob'); using an unsupported store like MinIO/local bucket.

Related errors


AI-assisted analysis of cube-js/cube@7d981676b3 (2026-09-02). Data as JSON: /api/errors/3970cc6357c04c8b. Report an issue: GitHub.