Hi everyone,
It seems that since that commit [1], the master is quite slow to import
data.
This seems to be linked to multi-bytes functions that are really slower
compared to standard string functions.
I tried several variants of this, but without a good result: instead of
always using PMA_StringMB, try to detect encoding and so use
PMA_StringNative when possible.
To improve this, I cached the encoding, to avoid to detect it each time.
See [2] (this is not totally safe, here, for the tests, I removed the mb_*
detection).
But the result is not as good as before…
I also tried something more experimental: convert all the strings used in
PMA_String to UTF-8 string and so, mb_* functions won't convert anymore.
But it is not effective either.
Do you have any idea about the way to improve it please?
I thought about generalising the strpos to a strallpos/strposall (for
redundant strpos) with an explicit encoding, not to let PHP convert each
time.
Thanks for your help,
[1] https://github.com/phpmyadmin/phpmyadmin/commit/9b77d746aba
[2]
https://github.com/Tithugues/phpmyadmin/commit/ab6f493449d90e58bd4caa15740d…
Hugues.
Hi, this is just for informational purposes -- our code is fine.
PHP 5.5.17 seems to break mysqlnd when connecting via SSL. You can see
the bug report[1] if you're interested.
I know we do some PHP (and MySQL) version tests, but is it appropriate
in this case to catch version 5.5.17 and warn the user about this bug?
Thanks to IRC user deuterium for figuring out the problem.
1 - https://bugs.php.net/bug.php?id=68046
See <https://ci.phpmyadmin.net/job/phpMyAdmin/1218/changes>
Changes:
[Madhura Jayaratne] bug #4552 Incorrect routines display for database due to case insensitive checks
[weblate] Translated using Weblate (Bulgarian)
[weblate] Translated using Weblate (Catalan)
[weblate] Translated using Weblate (German)
[weblate] Translated using Weblate (Turkish)
[Madhura Jayaratne] Bug #4561 PHP error in transformations
[Madhura Jayaratne] Wrap some long lines
[Madhura Jayaratne] Wrap more long lines
[Madhura Jayaratne] bug #4259 reCaptcha sound session expired problem
[weblate] Translated using Weblate (Latvian)
[Madhura Jayaratne] bug #4560 PHP error on master branch
[weblate] Translated using Weblate (Interlingua)
[weblate] Translated using Weblate (Estonian)
[weblate] Translated using Weblate (French)
[weblate] Translated using Weblate (Interlingua)
[weblate] Translated using Weblate (Interlingua)
[weblate] Translated using Weblate (Slovenian)
[weblate] Translated using Weblate (German)
------------------------------------------
Started by timer
[EnvInject] - Loading node environment variables.
Building in workspace <https://ci.phpmyadmin.net/job/phpMyAdmin/ws/>
> git rev-parse --is-inside-work-tree # timeout=10
Fetching changes from the remote Git repository
> git config remote.origin.url git://github.com/phpmyadmin/phpmyadmin.git # timeout=10
Fetching upstream changes from git://github.com/phpmyadmin/phpmyadmin.git
> git --version # timeout=10
> git fetch --tags --progress git://github.com/phpmyadmin/phpmyadmin.git +refs/heads/*:refs/remotes/origin/*
> git rev-parse origin/master^{commit} # timeout=10
Checking out Revision 2886766381d9ba87470bb482f2c45d5f08b05f91 (origin/master)
> git config core.sparsecheckout # timeout=10
> git checkout -f 2886766381d9ba87470bb482f2c45d5f08b05f91
> git rev-list 0afe20e942e8b55bf6b1602fbd17e3c1eb0c8b17 # timeout=10
[EnvInject] - Executing scripts and injecting environment variables after the SCM step.
[EnvInject] - Injecting as environment variables the properties content
TESTSUITE_SERVER=localhost
TESTSUITE_USER=pmatest
TESTSUITE_DATABASE=pmatest
TESTSUITE_URL=http://ci-live.phpmyadmin.net/phpMyAdmin/workspace/
XTESTSUITE_BROWSERSTACK_USER=michaliha
[EnvInject] - Variables injected successfully.
[workspace] $ /bin/sh -xe /tmp/hudson661037016660581222.sh
+ composer install --dev --no-interaction
Warning: This development build of composer is over 30 days old. It is recommended to update it by running "/var/lib/jenkins/bin/composer self-update" to get the latest version.
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Generating autoload files
[workspace] $ ant -DTESTSUITE_BROWSERSTACK_KEY=**** -DTESTSUITE_PASSWORD=**** clean locales phpunit pdepend phpmd phpcpd phpcs phploc jshint lint
Unable to locate tools.jar. Expected to find it in /usr/lib/jvm/java-6-openjdk-amd64/lib/tools.jar
Buildfile: <https://ci.phpmyadmin.net/job/phpMyAdmin/ws/build.xml>
clean:
[delete] Deleting directory <https://ci.phpmyadmin.net/job/phpMyAdmin/ws/build/api>
[delete] Deleting directory <https://ci.phpmyadmin.net/job/phpMyAdmin/ws/build/code-browser>
[delete] Deleting directory <https://ci.phpmyadmin.net/job/phpMyAdmin/ws/build/coverage>
[delete] Deleting directory <https://ci.phpmyadmin.net/job/phpMyAdmin/ws/build/logs>
[delete] Deleting directory <https://ci.phpmyadmin.net/job/phpMyAdmin/ws/build/pdepend>
[mkdir] Created dir: <https://ci.phpmyadmin.net/job/phpMyAdmin/ws/build/api>
[mkdir] Created dir: <https://ci.phpmyadmin.net/job/phpMyAdmin/ws/build/code-browser>
[mkdir] Created dir: <https://ci.phpmyadmin.net/job/phpMyAdmin/ws/build/coverage>
[mkdir] Created dir: <https://ci.phpmyadmin.net/job/phpMyAdmin/ws/build/logs>
[mkdir] Created dir: <https://ci.phpmyadmin.net/job/phpMyAdmin/ws/build/pdepend>
locales:
phpunit:
[exec] PHP Notice: Undefined variable: PMA_String in <https://ci.phpmyadmin.net/job/phpMyAdmin/ws/test/bootstrap-dist.php> on line 48
[exec] PHP Fatal error: Call to a member function strlen() on a non-object in <https://ci.phpmyadmin.net/job/phpMyAdmin/ws/libraries/Config.class.php> on line 1868
BUILD FAILED
<https://ci.phpmyadmin.net/job/phpMyAdmin/ws/build.xml>:27: exec returned: 255
Total time: 8 seconds
Build step 'Invoke Ant' marked build as failure
[CHECKSTYLE] Skipping publisher since build result is FAILURE
[JSLINT] Skipping publisher since build result is FAILURE
[PMD] Skipping publisher since build result is FAILURE
[DRY] Collecting duplicate code analysis files...
[DRY] Finding all files that match the pattern build/logs/pmd-cpd.xml
[DRY] Computing warning deltas based on reference build #1217
[TASKS] Skipping publisher since build result is FAILURE
[ANALYSIS-COLLECTOR] Computing warning deltas based on reference build #1217
Recording plot data
Publishing Clover coverage report...
No Clover report will be published due to a Build Failure
[xUnit] [INFO] - Starting to record.
[xUnit] [INFO] - Processing PHPUnit-3.x (default)
[xUnit] [INFO] - [PHPUnit-3.x (default)] - No test report file(s) were found with the pattern 'build/logs/junit.xml' relative to '<https://ci.phpmyadmin.net/job/phpMyAdmin/ws/'> for the testing framework 'PHPUnit-3.x (default)'. Did you enter a pattern relative to the correct directory? Did you generate the result report(s) for 'PHPUnit-3.x (default)'?
[xUnit] [ERROR] - No test reports found for the metric 'PHPUnit' with the resolved pattern 'build/logs/junit.xml'. Configuration error?.
[xUnit] [INFO] - Failing BUILD.
[xUnit] [INFO] - There are errors when processing test results.
[xUnit] [INFO] - Skipping tests recording.
[xUnit] [INFO] - Stop build.
[JDepend] JDepend plugin is ready
[JDepend] Couldn't generate JDepend file at 'build/logs/jdepend.xml'java.io.FileNotFoundException: <https://ci.phpmyadmin.net/job/phpMyAdmin/ws/build/logs/jdepend.xml> (No such file or directory)
Yes Marc, we saw your message.
It's done = added to config.inc.php on the testing server.
;)
*********
Ann
******************************************
-----Ursprüngliche Nachricht-----
Von: Marc Delisle [mailto:marc@infomarc.info]
Gesendet: Samstag, 18. Oktober 2014 13:59
An: Ann + J.M.
Betreff: message to the -devel list
Hi,
did you see my message on the devel list:
Hi J.M.,
could you ensure that config.inc.php on the test server uses the new option:
$cfg['Servers'][$i]['DisableIS'] = true;
--
Marc Delisle | phpMyAdmin
---
Diese E-Mail ist frei von Viren und Malware, denn der avast! Antivirus Schutz ist aktiv.
http://www.avast.com
Hi J.M.,
could you ensure that config.inc.php on the test server uses the new option:
$cfg['Servers'][$i]['DisableIS'] = true;
--
Marc Delisle (phpMyAdmin)