Tiago Gomes pushed to branch tiagogomes/issue-573 at BuildStream / buildstream
Commits:
-
7c375214
by Tiago Gomes at 2018-09-12T12:56:58Z
-
d5d2b724
by Tiago Gomes at 2018-09-12T12:57:06Z
-
b627e6f0
by Tiago Gomes at 2018-09-12T12:57:43Z
2 changed files:
Changes:
| ... | ... | @@ -247,7 +247,7 @@ class ArtifactCache(): |
| 247 | 247 |
"Please increase the cache-quota in {}."
|
| 248 | 248 |
.format(self.context.config_origin or default_conf))
|
| 249 | 249 |
|
| 250 |
- if self.get_quota_exceeded():
|
|
| 250 |
+ if self.has_quota_exceeded():
|
|
| 251 | 251 |
raise ArtifactError("Cache too full. Aborting.",
|
| 252 | 252 |
detail=detail,
|
| 253 | 253 |
reason="cache-too-full")
|
| ... | ... | @@ -260,6 +260,14 @@ class ArtifactCache(): |
| 260 | 260 |
# Remove the actual artifact, if it's not required.
|
| 261 | 261 |
size = self.remove(to_remove)
|
| 262 | 262 |
self._cache_size -= size
|
| 263 |
+ self._message(MessageType.DEBUG,
|
|
| 264 |
+ "Removed artifact {} ({})".format(
|
|
| 265 |
+ to_remove[:-(len(key) - self.context.log_key_length)],
|
|
| 266 |
+ utils._pretty_size(size)))
|
|
| 267 |
+ |
|
| 268 |
+ self._message(MessageType.INFO,
|
|
| 269 |
+ "New artifact cache size: {}".format(
|
|
| 270 |
+ utils._pretty_size(self._cache_size)))
|
|
| 263 | 271 |
|
| 264 | 272 |
return old_cache_size - self._cache_size
|
| 265 | 273 |
|
| ... | ... | @@ -272,6 +280,8 @@ class ArtifactCache(): |
| 272 | 280 |
# artifact_size (int): The size to add.
|
| 273 | 281 |
#
|
| 274 | 282 |
def add_artifact_size(self, artifact_size):
|
| 283 |
+ assert utils._is_main_process()
|
|
| 284 |
+ |
|
| 275 | 285 |
self._cache_size = self.get_cache_size() + artifact_size
|
| 276 | 286 |
self._write_cache_size(self._cache_size)
|
| 277 | 287 |
|
| ... | ... | @@ -291,14 +301,14 @@ class ArtifactCache(): |
| 291 | 301 |
|
| 292 | 302 |
return self._cache_size
|
| 293 | 303 |
|
| 294 |
- # get_quota_exceeded()
|
|
| 304 |
+ # has_quota_exceeded()
|
|
| 295 | 305 |
#
|
| 296 | 306 |
# Checks if the current artifact cache size exceeds the quota.
|
| 297 | 307 |
#
|
| 298 | 308 |
# Returns:
|
| 299 | 309 |
# (bool): True of the quota is exceeded
|
| 300 | 310 |
#
|
| 301 |
- def get_quota_exceeded(self):
|
|
| 311 |
+ def has_quota_exceeded(self):
|
|
| 302 | 312 |
return self.get_cache_size() > self._cache_quota
|
| 303 | 313 |
|
| 304 | 314 |
################################################
|
| ... | ... | @@ -249,8 +249,9 @@ class Scheduler(): |
| 249 | 249 |
def check_cache_size(self):
|
| 250 | 250 |
artifacts = Platform.get_platform().artifactcache
|
| 251 | 251 |
|
| 252 |
- if artifacts.get_quota_exceeded():
|
|
| 253 |
- job = CleanupJob(self, 'cleanup', 'cleanup/cleanup',
|
|
| 252 |
+ if artifacts.has_quota_exceeded():
|
|
| 253 |
+ job = CleanupJob(self, 'Clean artifact cache',
|
|
| 254 |
+ 'cleanup/cleanup',
|
|
| 254 | 255 |
resources=[ResourceType.CACHE,
|
| 255 | 256 |
ResourceType.PROCESS],
|
| 256 | 257 |
exclusive_resources=[ResourceType.CACHE])
|
