Skip to content

Conversation

@druid-infra
Copy link
Contributor

Problem

When druid-cli tries to load a plugin that doesn't exist (e.g., druid_rcon), it fails with a confusing error:

Error in Daemon Startup: unable to generate a checksum for the plugin ./druid_rcon: open ./druid_rcon: no such file or directory

This happens even when plugins are optional and the --allow-plugin-errors flag should handle it gracefully.

Root Cause

The LoadGoPlugin function tries to generate a checksum for the plugin file without first verifying it exists. The checksum generation fails with an opaque error that doesn't clearly indicate the file is missing.

Solution

  • Add explicit file existence check before attempting to load the plugin
  • Return a clearer error message that shows all searched paths
  • This allows the --allow-plugin-errors flag to work properly
  • Makes debugging easier by showing exactly where druid looked for the plugin

Example Error (Before)

unable to generate a checksum for the plugin ./druid_rcon: open ./druid_rcon: no such file or directory

Example Error (After)

plugin file not found: ./druid_rcon (looked in /usr/local/bin/druid_rcon and ./druid_rcon)

Testing

Reproduced in CI environment where plugin files were missing. After this fix, the error message is clearer and the --allow-plugin-errors flag can properly handle the situation.

Related issue discovered in: highcard-dev/scrolls#12

- Add explicit check for plugin file existence in LoadGoPlugin
- Return clearer error message showing all searched paths
- Allows --allow-plugin-errors flag to work properly
- Prevents confusing 'unable to generate checksum' error when file doesn't exist

This fixes the issue where missing plugin files cause cryptic errors
during daemon startup, even when plugins are optional.
@druid-infra
Copy link
Contributor Author

Error: This repo is not allowlisted for Atlantis.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant