jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/394950 )
Change subject: CdbMessageIndex: do not store keys twice
......................................................................
CdbMessageIndex: do not store keys twice
The CDB supports fetching the keys from the file. There is no need
to store the keys separately using #keys. Using the native interface
is both faster (because we do not need to serialize array of 75k
values) and saves space.
Change-Id: Ibd09ce9091e0251fa04f833624bff7a7a4a08f48
---
M utils/MessageIndex.php
1 file changed, 9 insertions(+), 3 deletions(-)
Approvals:
jenkins-bot: Verified
Santhosh: Looks good to me, approved
diff --git a/utils/MessageIndex.php b/utils/MessageIndex.php
index 2e40718..3d132f9 100644
--- a/utils/MessageIndex.php
+++ b/utils/MessageIndex.php
@@ -615,7 +615,15 @@
return $this->index;
}
- $keys = (array)$this->unserialize( $reader->get( '#keys' ) );
+ $keys = [];
+ while ( true ) {
+ $key = $keys === [] ? $reader->firstkey() :
$reader->nextkey();
+ if ( $key === false ) {
+ break;
+ }
+ $keys[] = $key;
+ }
+
$this->index = [];
foreach ( $keys as $key ) {
$this->index[$key] = $this->unserialize( $reader->get(
$key ) );
@@ -650,8 +658,6 @@
$file = TranslateUtils::cacheFile( $this->filename );
$cache = \Cdb\Writer::open( $file );
- $keys = array_keys( $array );
- $cache->set( '#keys', $this->serialize( $keys ) );
foreach ( $array as $key => $value ) {
$value = $this->serialize( $value );
--
To view, visit https://gerrit.wikimedia.org/r/394950
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ibd09ce9091e0251fa04f833624bff7a7a4a08f48
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Translate
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: KartikMistry <[email protected]>
Gerrit-Reviewer: Santhosh <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits