Skip to content

Fix spelling typos across codebase#291

Merged
mcopik merged 1 commit intospcl:masterfrom
joshuaswanson:fix-typos
Mar 12, 2026
Merged

Fix spelling typos across codebase#291
mcopik merged 1 commit intospcl:masterfrom
joshuaswanson:fix-typos

Conversation

@joshuaswanson
Copy link
Copy Markdown
Contributor

@joshuaswanson joshuaswanson commented Mar 12, 2026

Summary

  • Fix misspellings of "successful", "unsuccessful", and "successfully" in log messages, error messages, comments, and documentation across 8 files
  • Fix "seperate" -> "separate" in scripts/proc_analyzer.py
  • Fix "hte proivders" -> "the providers" in sebs/faas/nosql.py
  • Rename misspelled variables comand -> command and instalation_dir -> installation_dir in tools/openwhisk_preparation.py

Files changed

  • tools/create_azure_credentials.py
  • tools/openwhisk_preparation.py
  • docs/platforms.md
  • scripts/proc_analyzer.py
  • sebs/azure/cli.py
  • sebs/gcp/cli.py
  • sebs/experiments/invocation_overhead.py
  • sebs/faas/nosql.py
  • sebs/storage/minio.py
  • sebs/local/function.py

Summary by CodeRabbit

  • Bug Fixes
    • Corrected spelling errors in authentication log messages and error messages for Azure, GCP, and local environments.
    • Fixed variable and parameter naming inconsistencies in configuration scripts for improved code clarity and maintainability.
    • Corrected typos in API documentation, docstrings, and code comments across multiple modules.

@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Mar 12, 2026

📝 Walkthrough

Walkthrough

This PR systematically corrects spelling and typo issues throughout the codebase, including log messages, variable names, docstrings, and user-facing strings. Examples include fixing "succesful" to "successful," "seperate" to "separate," and "instalation_dir" to "installation_dir" across multiple files.

Changes

Cohort / File(s) Summary
Logging Message Corrections
sebs/azure/cli.py, sebs/gcp/cli.py, sebs/local/function.py, sebs/storage/minio.py
Fixed spelling in log messages: "succesful/unsuccesful" corrected to "successful/unsuccessful".
Tool and Script String Fixes
tools/create_azure_credentials.py, tools/openwhisk_preparation.py
Fixed user-facing messages and variable/parameter names: "succesfull" to "successful", "instalation_dir" to "installation_dir", "comand" to "command".
Experiment Code Corrections
sebs/experiments/invocation_overhead.py
Fixed variable naming from "succesful" to "successful" and error message spelling from "unsuccesfull" to "unsuccessfull".
Documentation and Comment Fixes
docs/platforms.md, scripts/proc_analyzer.py, sebs/faas/nosql.py
Fixed typos in documentation strings and comments: "succesfull" to "successful", "seperate" to "separate", "hte proivders" to "the providers".

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Poem

🐰 Through code and docs we quickly bound,
Spelling errors we have found!
"Succesful" now reads "Successful" true,
Installation paths corrected too! ✨

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 76.92% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Fix spelling typos across codebase' accurately describes the main change: correcting multiple spelling errors throughout the repository including 'successful', 'unsuccessful', variable names, and documentation.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@sebs/experiments/invocation_overhead.py`:
- Line 431: The error message string "Failing after 5 unsuccessfull attempts to
communicate with the function!" contains a typo; update that string in
invocation_overhead.py (the message used where the retry/failure is
raised/logged) to "Failing after 5 unsuccessful attempts to communicate with the
function!" so "unsuccessfull" is corrected to "unsuccessful".

In `@sebs/storage/minio.py`:
- Around line 185-190: The except blocks in sebs.storage.minio (the handlers
catching docker.errors.APIError and the generic Exception) currently log the
error but re-raise RuntimeError without preserving the original exception;
update both raises to use exception chaining (raise RuntimeError("Starting Minio
storage unsuccessful") from e) so the original exception (e) is attached to the
new RuntimeError and the traceback/root cause is preserved; make this change in
the function containing those except blocks (the Minio startup error handlers).

In `@tools/openwhisk_preparation.py`:
- Around line 311-314: The code builds installation_dir using
os.environ["GOPATH"] which raises KeyError on systems without GOPATH exported;
change construction of installation_dir in the install_wsk flow to first try
os.environ.get("GOPATH") and if missing run `go env GOPATH` (via
subprocess.check_output) to obtain the GOPATH, and build installation_dir with
that value; update the custom_subproces wrapper (custom_subproces) and the
surrounding exception handling to catch KeyError and
subprocess.CalledProcessError so failures from both missing env and subprocess
are handled and logged with the same clean error path.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 66976be2-b447-43c6-8549-8f48b4e5e6d6

📥 Commits

Reviewing files that changed from the base of the PR and between 20abe99 and 86c0549.

📒 Files selected for processing (10)
  • docs/platforms.md
  • scripts/proc_analyzer.py
  • sebs/azure/cli.py
  • sebs/experiments/invocation_overhead.py
  • sebs/faas/nosql.py
  • sebs/gcp/cli.py
  • sebs/local/function.py
  • sebs/storage/minio.py
  • tools/create_azure_credentials.py
  • tools/openwhisk_preparation.py

if j == 5:
self.logging.error(
"Failing after 5 unsuccesfull attempts to " "communicate with the function!"
"Failing after 5 unsuccessfull attempts to " "communicate with the function!"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Typo still present: "unsuccessfull" should be "unsuccessful".

The error message still contains a misspelling - "unsuccessfull" has two 'l's but should only have one.

🔤 Proposed fix
                     self.logging.error(
-                        "Failing after 5 unsuccessfull attempts to " "communicate with the function!"
+                        "Failing after 5 unsuccessful attempts to " "communicate with the function!"
                     )
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
"Failing after 5 unsuccessfull attempts to " "communicate with the function!"
"Failing after 5 unsuccessful attempts to " "communicate with the function!"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@sebs/experiments/invocation_overhead.py` at line 431, The error message
string "Failing after 5 unsuccessfull attempts to communicate with the
function!" contains a typo; update that string in invocation_overhead.py (the
message used where the retry/failure is raised/logged) to "Failing after 5
unsuccessful attempts to communicate with the function!" so "unsuccessfull" is
corrected to "unsuccessful".

Comment thread sebs/storage/minio.py
Comment on lines 185 to +190
except docker.errors.APIError as e:
self.logging.error("Starting Minio storage failed! Reason: {}".format(e))
raise RuntimeError("Starting Minio storage unsuccesful")
raise RuntimeError("Starting Minio storage unsuccessful")
except Exception as e:
self.logging.error("Starting Minio storage failed! Unknown error: {}".format(e))
raise RuntimeError("Starting Minio storage unsuccesful")
raise RuntimeError("Starting Minio storage unsuccessful")
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

🧩 Analysis chain

🏁 Script executed:

# Check if file exists and examine the specific lines
head -n 195 sebs/storage/minio.py | tail -n 20

Repository: spcl/serverless-benchmarks

Length of output: 927


🏁 Script executed:

# Also get more context around those lines to understand the function
sed -n '170,200p' sebs/storage/minio.py

Repository: spcl/serverless-benchmarks

Length of output: 1445


🏁 Script executed:

# Search for other similar exception handling patterns in the same file
rg -n "raise RuntimeError" sebs/storage/minio.py

Repository: spcl/serverless-benchmarks

Length of output: 424


🏁 Script executed:

# Check Python version requirement for the project
cat setup.py | grep -i python || cat pyproject.toml | grep -i python || cat requirements.txt | head -20

Repository: spcl/serverless-benchmarks

Length of output: 386


🏁 Script executed:

# Look at how these RuntimeErrors are caught/handled elsewhere
rg -n "Starting Minio storage unsuccessful" --type py

Repository: spcl/serverless-benchmarks

Length of output: 261


🏁 Script executed:

# Check if there are other exception handling patterns in minio.py for context
sed -n '200,220p' sebs/storage/minio.py

Repository: spcl/serverless-benchmarks

Length of output: 981


🏁 Script executed:

# Verify the except clauses have access to the exception variable
sed -n '185,191p' sebs/storage/minio.py

Repository: spcl/serverless-benchmarks

Length of output: 464


Preserve the original exception when startup fails.

Both exception handlers discard the caught exception, losing the actual Docker/MinIO failure chain for callers and tracebacks. Add exception chaining with from e to keep the root cause attached to the RuntimeError.

Suggested fix
         except docker.errors.APIError as e:
             self.logging.error("Starting Minio storage failed! Reason: {}".format(e))
-            raise RuntimeError("Starting Minio storage unsuccessful")
+            raise RuntimeError("Starting Minio storage unsuccessful") from e
         except Exception as e:
             self.logging.error("Starting Minio storage failed! Unknown error: {}".format(e))
-            raise RuntimeError("Starting Minio storage unsuccessful")
+            raise RuntimeError("Starting Minio storage unsuccessful") from e
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
except docker.errors.APIError as e:
self.logging.error("Starting Minio storage failed! Reason: {}".format(e))
raise RuntimeError("Starting Minio storage unsuccesful")
raise RuntimeError("Starting Minio storage unsuccessful")
except Exception as e:
self.logging.error("Starting Minio storage failed! Unknown error: {}".format(e))
raise RuntimeError("Starting Minio storage unsuccesful")
raise RuntimeError("Starting Minio storage unsuccessful")
except docker.errors.APIError as e:
self.logging.error("Starting Minio storage failed! Reason: {}".format(e))
raise RuntimeError("Starting Minio storage unsuccessful") from e
except Exception as e:
self.logging.error("Starting Minio storage failed! Unknown error: {}".format(e))
raise RuntimeError("Starting Minio storage unsuccessful") from e
🧰 Tools
🪛 Ruff (0.15.5)

[warning] 186-186: Use logging.exception instead of logging.error

Replace with exception

(TRY400)


[warning] 187-187: Within an except clause, raise exceptions with raise ... from err or raise ... from None to distinguish them from errors in exception handling

(B904)


[warning] 187-187: Avoid specifying long messages outside the exception class

(TRY003)


[warning] 188-188: Do not catch blind exception: Exception

(BLE001)


[warning] 189-189: Use logging.exception instead of logging.error

Replace with exception

(TRY400)


[warning] 190-190: Within an except clause, raise exceptions with raise ... from err or raise ... from None to distinguish them from errors in exception handling

(B904)


[warning] 190-190: Avoid specifying long messages outside the exception class

(TRY003)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@sebs/storage/minio.py` around lines 185 - 190, The except blocks in
sebs.storage.minio (the handlers catching docker.errors.APIError and the generic
Exception) currently log the error but re-raise RuntimeError without preserving
the original exception; update both raises to use exception chaining (raise
RuntimeError("Starting Minio storage unsuccessful") from e) so the original
exception (e) is attached to the new RuntimeError and the traceback/root cause
is preserved; make this change in the function containing those except blocks
(the Minio startup error handlers).

Comment on lines +311 to +314
installation_dir = "{}/src/github.com/apache/openwhisk-cli".format(os.environ["GOPATH"])

def custom_subproces(comand):
subprocess.run(comand.split(), cwd=instalation_dir, check=True)
def custom_subproces(command):
subprocess.run(command.split(), cwd=installation_dir, check=True)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

# First, check if the file exists and read the relevant section
if [ -f "tools/openwhisk_preparation.py" ]; then
  echo "=== File found, reading lines 305-320 for context ==="
  head -320 tools/openwhisk_preparation.py | tail -20
else
  echo "File not found"
  git ls-files | grep openwhisk_preparation.py
fi

Repository: spcl/serverless-benchmarks

Length of output: 1028


🏁 Script executed:

# Get the full function context around lines 311-314
wc -l tools/openwhisk_preparation.py

Repository: spcl/serverless-benchmarks

Length of output: 104


🏁 Script executed:

# Read the specific lines and surrounding context
sed -n '305,325p' tools/openwhisk_preparation.py

Repository: spcl/serverless-benchmarks

Length of output: 1060


🏁 Script executed:

# Check imports at the top of the file
head -30 tools/openwhisk_preparation.py

Repository: spcl/serverless-benchmarks

Length of output: 495


🏁 Script executed:

# Search for subprocess usage in the file to verify it's imported
grep -n "import subprocess" tools/openwhisk_preparation.py

Repository: spcl/serverless-benchmarks

Length of output: 89


🏁 Script executed:

# Check if custom_subproces is called elsewhere (to see if the typo is consistent)
grep -n "custom_subproces" tools/openwhisk_preparation.py

Repository: spcl/serverless-benchmarks

Length of output: 263


Resolve GOPATH access to support systems without the environment variable exported.

os.environ["GOPATH"] raises KeyError on modern Go setups (Go 1.13+) that rely on Go's internal default GOPATH instead of exporting the environment variable, causing install_wsk() to fail on a healthy Go installation. Additionally, the exception handler does not catch KeyError, so this would result in an unhandled exception rather than the clean error message provided for subprocess failures.

Resolve the GOPATH via go env GOPATH as a fallback before building installation_dir:

Suggested fix
-        installation_dir = "{}/src/github.com/apache/openwhisk-cli".format(os.environ["GOPATH"])
+        gopath = os.environ.get("GOPATH")
+        if not gopath:
+            gopath = subprocess.run(
+                ["go", "env", "GOPATH"],
+                check=True,
+                stdout=subprocess.PIPE,
+                stderr=subprocess.DEVNULL,
+                text=True,
+            ).stdout.strip()
+        installation_dir = f"{gopath}/src/github.com/apache/openwhisk-cli"
🧰 Tools
🪛 Ruff (0.15.5)

[error] 314-314: subprocess call: check for execution of untrusted input

(S603)

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tools/openwhisk_preparation.py` around lines 311 - 314, The code builds
installation_dir using os.environ["GOPATH"] which raises KeyError on systems
without GOPATH exported; change construction of installation_dir in the
install_wsk flow to first try os.environ.get("GOPATH") and if missing run `go
env GOPATH` (via subprocess.check_output) to obtain the GOPATH, and build
installation_dir with that value; update the custom_subproces wrapper
(custom_subproces) and the surrounding exception handling to catch KeyError and
subprocess.CalledProcessError so failures from both missing env and subprocess
are handled and logged with the same clean error path.

@mcopik mcopik merged commit 70fc355 into spcl:master Mar 12, 2026
@mcopik
Copy link
Copy Markdown
Collaborator

mcopik commented Mar 12, 2026

Thank you, @joshuaswanson, for your time and diligence! Merged :)

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.

2 participants