- 24 6月, 2020 1 次提交
-
-
由 Tyler Ramer 提交于
[Lockfile](https://pypi.org/project/lockfile/) has not been maintained since around 2015. Further, the functionality it provided seems poor - a review of the code indicated that it used the presence of the PID file itself as the lock - in Unix, using a file's existence followed by a creation is not atomic, so a lock could be prone to race conditions. The lockfile package also did not clean up after itself - a process which was destroyed unexpectedly would not clear the created locks, so some faulty logic was added to mainUtils.py, which checked to see if a process with the same PID as the lockfile's creator was running. This is obviously failure prone, as a new process might be assigned the same PID as the old lockfile's owner, without actually being the same process. (Of note, the SIG_DFL argument to os.kill() is not a signal at all, but rather of type signal.handler. It appears that the python cast this handler to the int 0, which, according to man 2 kill, leads to no signal being sent, but existance and permission checks are still performed. So it is a happy accident that this code worked at all) This commit removes lockfile from the codebase entirely. It also adds a "PIDLockFile" class which provides an atomic-guarenteed lock via the mkdir and rmdir commands on Unix - thus, it is not safely portable to Windows, but this should not be an issue as only Unix-based utilities use the "simple_main()" function. PIDLockFile provides API compatible classes to replace most of the functionality from lockfile.PidLockFile, but does remove any timeout logic as it was not used in any meaningful sense - a hard-coded timeout of 1 second was used, but an immediate result of if the lock is held is sufficient. PIDLockFile also includes appropriate __enter__, __exit__, and __del__ attributes, so that, should we extend this class in the future, with syntax is functional, and __del__ calls release, so a process reaped unexpectedly should still clean its own locks as part of the garbage collection process. Authored-by: NTyler Ramer <tramer@pivotal.io>
-
- 05 2月, 2019 1 次提交
-
-
由 Karen Huddleston 提交于
We are renaming the docker images we use with concourse to have the gpdb version in the actual image name rather than in the tag. The contents of the images will be the same as before. Authored-by: NKaren Huddleston <khuddleston@pivotal.io>
-
- 11 1月, 2019 1 次提交
-
-
由 Karen Huddleston 提交于
Also updated docker README to reference new build image. Co-authored-by: NDavid Sharp <dsharp@pivotal.io> Co-authored-by: NKaren Huddleston <khuddleston@pivotal.io>
-
- 10 1月, 2019 1 次提交
-
-
由 gshaw-pivotal 提交于
- Include how to make Greenplum within docker accessible to SQL editors running on the local machine (outside of docker). - Update the pip install command so that psutil and lockfile are accessible when the make cluster command is executed.
-
- 30 10月, 2018 1 次提交
-
-
由 Amil Khanzada 提交于
The centos-gpdb-dev:7 image's bundled gcc versions are now too old for compiling the gpdb code. As of this writing, the image pivotaldata/centos-gpdb-dev:7, contains: - /usr/bin/gcc = 4.8.5 - /opt/gcc-4.4.2/bin/gcc = 4.4.2 pivotaldata/centos-gpdb-dev:7-gcc6.2-llvm3.7 contains: - /usr/bin/gcc = 4.8.5 - /opt/gcc-6.2.0/bin/gcc = 6.2.0 This commit updates the referenced image in the guide. Co-authored-by: NKristofer Macoskey <kmacoskey@pivotal.io> Co-authored-by: NMasashi Dojo <mdojo@users.noreply.github.com> Co-authored-by: NAmil Khanzada <amilkh@users.noreply.github.com>
-
- 08 11月, 2017 1 次提交
-
-
由 Amil Khanzada 提交于
- Use the latest gcc (from /opt/gcc_env.sh). - Add commands to .bash_profile/.bashrc so that stopping and starting the container works as expected. Signed-off-by: NBen Christel <bchristel@pivotal.io>
-
- 27 10月, 2017 1 次提交
-
-
由 Amil Khanzada 提交于
This guide is based on the centos-gpdb-dev docker images that Concourse uses, thus there are less things we need to add on top. Signed-off-by: NAmil Khanzada <akhanzada@pivotal.io>
-