spring-projects / spring-projects/spring-security

The deployDocs task sometimes fails to remove the previous Javadoc

Open
#15,652 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

in: build type: task
Dominant language
Java
Stars
9.6k
Forks
6.3k
Avg merge
2d 11h
Merged PRs (30d)
52

Description

Sometimes, possibly due to a race condition, the deployDocs task fails in the following way:

rm: cannot remove ‘/var/www/domains/spring.io/docs/htdocs/autorepo/docs/spring-security/6.3.2-SNAPSHOT/api/org/springframework/security’: Directory not empty

Since the corresponding rm command uses -f and still fails, this may mean that another process is operating on that directory at the same time.

rsync may be a better option for achieving atomicity than removing the old directory, creating a new one, and moving the new contents into the new directory.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the deployDocs task and the linked GitHub Actions failure, then trace the rm sequence that removes and replaces the previous Javadoc directory. Compare that flow with the issue's suggested rsync approach; done means the task completes without the Directory not empty error while leaving the new documentation deployed correctly.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, shell
Domain
build-system, devops, documentation
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.