Commit Graph

382 Commits

Author SHA1 Message Date
Fabio Erculiani a8d01a482f [entropy.client.package] reduce installed_repository() calls 2012-07-27 17:36:34 +02:00
Fabio Erculiani ead457ef8d [entropy.qa] use retrieveContentIter() where possible 2012-07-27 17:05:35 +02:00
Fabio Erculiani 59aaafd3c3 [entropy.db] extend retrieveContentIter() docstring with important info 2012-07-27 16:34:43 +02:00
Fabio Erculiani d75ce83086 [entropy.db] restructure indexes
This commits improves the sqlite3 db indexes used optimizing them
both in terms of quantity (dropping duplicate indexes) and in terms
of quality (add missing indexes)
2012-07-27 13:26:18 +02:00
Fabio Erculiani 12efc718c0 [entropy.db] add whitespaces, remove trailing whitespaces 2012-07-26 23:07:01 +02:00
Fabio Erculiani c8178b3cd6 [entropy.db] kill more >80 columns rows 2012-07-26 23:05:41 +02:00
Fabio Erculiani 492ace12e8 [entropy.db] drop isPackageScopeAvailable(), unused 2012-07-26 22:57:09 +02:00
Fabio Erculiani 6b95cecfdb [entropy.db] uniform _createCompileFlagsIndex to others (catch OperationalError) 2012-07-26 22:05:05 +02:00
Fabio Erculiani 1de32aba7d [entropy.db] kill >80 columns rows 2012-07-26 22:04:34 +02:00
Fabio Erculiani 90458f80b6 [entropy.client.services,Rigo] add support for the new get_documents() WS API
The new WebService get_documents() is more efficient in terms of
server resources consumption since it doesn't force the WS engine
to calculate the full result set length, which had little use anyway
in Rigo.
This commit switches entropy.client.services' DocumentList to and
reverse dependencies to use the new WS API. The older WS API will be
kept alive for a while (6 months, roughly).
2012-07-25 22:30:38 +02:00
Fabio Erculiani 4b5c06177f Release Entropy 1.0_rc127 2012-07-23 19:23:12 +02:00
Fabio Erculiani fa35eadf47 [entropy.fetchers] do not generate two separate requests per download
It has been discovered that each download() call (urllib handler)
caused the code to generate two separete HTTP requests for the same
URL. This commit hopefully fixes it without causing any regression
2012-07-23 19:20:29 +02:00
Fabio Erculiani ef64634def [entropy.dump] dumpobj: use temporary files, fixes possible races when MT 2012-07-23 15:47:19 +02:00
Fabio Erculiani f301ae60c7 [entropy.graph] Graph: drop __del__ (just use destroy() instead) to help automatic GC 2012-07-23 13:10:49 +02:00
Fabio Erculiani 61950f3af0 [entropy.client.interfaces.db] sort added list to improve determinism (good for caches) 2012-07-23 13:08:25 +02:00
Fabio Erculiani e8c6af8331 [entropy.misc] LogFile: remove __del__ 2012-07-23 13:08:00 +02:00
Fabio Erculiani defb58574d [entropy.cache] EntropyCacher: remove __del__ 2012-07-23 13:07:51 +02:00
Fabio Erculiani db5265e3d5 [entropy.client.package] use retrieveContentIter() 2012-07-23 00:29:27 +02:00
Fabio Erculiani a1c5e2bc12 [entropy.db] introduce retrieveContentIter() 2012-07-23 00:29:11 +02:00
Fabio Erculiani ce4d28ef47 [entropy.client] if xcache=False, force EntropyCacher "stashing cache" to OFF 2012-07-22 19:59:37 +02:00
Fabio Erculiani 9472978e60 [entropy.cache] EntropyCacher: make possible to disable the "stashing cache" at runtime 2012-07-22 19:44:18 +02:00
Fabio Erculiani ae94f49e79 Release Entropy 1.0_rc126 2012-07-20 12:59:20 +02:00
Fabio Erculiani dc27444749 [entropy.server] use Server.repositories() 2012-07-19 21:10:26 +02:00
Fabio Erculiani 499aee4feb [entropy.server] automatically cleanup the list of trashed SPM UIDs
This commit tries to safely reduce the amount of entries inside the
Trashed SPM UIDs table. At least, the entries are now kept under
control.
2012-07-19 21:09:10 +02:00
Fabio Erculiani 2f9fafc128 [entropy.db] EntropyRepository: create index for trashedcounters 2012-07-19 21:08:38 +02:00
Fabio Erculiani 3dc413e80f [entropy.server] fix typo in comment 2012-07-19 20:59:48 +02:00
Fabio Erculiani b9b5157817 [entropy.server] resolve_spm_package_uid() already returns int() 2012-07-19 20:49:31 +02:00
Fabio Erculiani c2c0787169 [entropy.spm] PortagePlugin: resolve_spm_package_uid() must return int 2012-07-19 20:48:53 +02:00
Fabio Erculiani 8b5606ea06 [entropy.server] use resolve_spm_package_uid() 2012-07-19 20:27:47 +02:00
Fabio Erculiani 00a3d87b7d [entropy.spm] PortagePlugin: add resolve_spm_package_uid() 2012-07-19 20:27:15 +02:00
Fabio Erculiani 5a0d8cf7f5 [entropy.db] add removeTrashedUids() and listAllTrashedSpmUids() methods 2012-07-19 20:10:52 +02:00
Fabio Erculiani 749e3ff29d [entropy.client] do not remove current repository database before download
As reported in bug #3495, do not remove the old repository database
file before validating the download outcome (UrlFetcher download
result)
2012-07-17 11:12:40 +02:00
Fabio Erculiani 60d4de50e7 [entropy.client] change error string
"repository does not exist online" is for some people confusing,
better saying "cannot download the repository".
2012-07-17 10:53:56 +02:00
Fabio Erculiani ece0b58858 [entropy.client] remove orphan function 2012-07-17 10:51:38 +02:00
Fabio Erculiani 60fce6a94b Release Entropy 1.0_rc125 2012-07-16 10:40:35 +02:00
Fabio Erculiani 0ce6633733 [entropy.client] add public method: close_installed_repository() 2012-07-14 16:05:50 +02:00
Fabio Erculiani 9b673fad9b [entropy.output] fix is_stdout_a_tty when sys.stdout has no fileno() 2012-07-07 18:15:34 +02:00
Fabio Erculiani 89713f2528 Release Entropy 1.0_rc124 2012-07-07 14:11:58 +02:00
Fabio Erculiani 0e54ec96ec Revert "[entropy.server] keep repo closed during early init stages"
This reverts commit 4c8d6c74e3.
It is no longer needed.
2012-07-07 14:05:57 +02:00
Fabio Erculiani a312a6146e [entropy.server] reimplement connection pooling
This commit should hopefully fix any deadlock reported in
Entropy Server due to weird sqlite3 behaviours when multiple
idle connections are open on the same file
2012-07-07 13:58:25 +02:00
Fabio Erculiani b8976f4c0c [entropy.db] EntropyRepository: expose connection and cursor pools
This commit makes possible for subclasses to reimplement the
connection and cursor pool logic.
2012-07-07 13:29:29 +02:00
Fabio Erculiani 017f2b162c [entropy.db] EntropyRepository: hold __connlock during pool setup
This commit ensures that __connlock is held during the whole
__cursor_cache and __connection_cache initialization. This avoids
any possible race condition, especially on dbapi2.connect() which
could cause weird random anomalies
2012-07-07 09:34:21 +02:00
Fabio Erculiani 9d2b329836 Release Entropy 1.0_rc123 2012-07-06 21:43:31 +02:00
Fabio Erculiani 4c8d6c74e3 [entropy.server] keep repo closed during early init stages 2012-07-06 21:30:22 +02:00
Fabio Erculiani 15349565a9 [entropy.*] rework EntropyRepository.commit() usage
Using the new baseinfo/extrainfo SCHEMA, several deadlocks were
found when using Eit (thus Entropy Server), due to aggressive
sqlite3 object caching.
This commit removes almost every implicit commit() call from the
EntropyRepository code, forcing the caller to properly handle
transactions. This will hopefully fix any deadlock problem observed
inside our chroots.
2012-07-06 21:10:56 +02:00
Fabio Erculiani 01a8f3e586 Release Entropy 1.0_rc122 2012-07-02 23:41:31 +02:00
Fabio Erculiani fb5cb00b9d [entropy.db] make sure to commit() at the end of createAllIndexes()
It has been found that with the new baseinfo, extrainfo SCHEMA,
createAllIndexes() deadlocks at the ANALYZE statement. Committing
any previous transaction before calling ANALYZE fixes the issue.
2012-07-02 23:40:03 +02:00
Fabio Erculiani 703f2ff929 Release Entropy 1.0_rc121 2012-07-02 11:47:09 +02:00
Fabio Erculiani 853359c208 [entropy.client] make sure to drop any reference to disabled repo when enabling 2012-06-28 15:47:24 +02:00
Fabio Erculiani 18f422a680 [entropy.client] bump configuration file mtime when enabling/disabling repositories
This is useful for any mtime-based cache around. os.rename() doesn't
affect mtime.
2012-06-28 15:46:07 +02:00