Support for Drupal 7 is ending on 5 January 2025—it’s time to migrate to Drupal 10! Learn about the many benefits of Drupal 10 and find migration tools in our resource center.
drupal-6.22 downloaded from http://ftp.drupal.org/files/projects/drupal-6.22.tar.gz [ok]
All translations downloaded for drupal [ok]
token-6.x-1.18 downloaded from http://ftp.drupal.org/files/projects/token-6.x-1.18.tar.gz [ok]
All translations downloaded for token [ok]
token-6.x-1.18 downloaded from http://ftp.drupal.org/files/projects/token-6.x-1.18.tar.gz [ok]
All translations downloaded for token [ok]
Comment | File | Size | Author |
---|---|---|---|
#18 | drush_make_duplicate_report.txt | 10.04 KB | dude4linux |
#15 | double-output.patch | 1.82 KB | greg.1.anderson |
#9 | 1417020-drush-make-report.txt | 34.78 KB | dude4linux |
#1 | drush-make-duplicate-output-1417020-01.patch | 1.12 KB | jhedstrom |
Comments
Comment #1
jhedstromBy slightly tweaking the
_drush_backend_integrate()
logic, this patch gets rid of the duplicates. I'm not sure what this might effect elsewhere though.Comment #2
greg.1.anderson CreditAttribution: greg.1.anderson commentedClosed #1415836: Double output of log messages in drush backend invoke as a duplicate of this issue.
Comment #3
greg.1.anderson CreditAttribution: greg.1.anderson commentedThis cleared up the double messages for me, and didn't seem to cause any messages to be dropped either. Code looks good; committed. Let's re-open if any further problems crop up.
Comment #5
moshe weitzman CreditAttribution: moshe weitzman commentedReopening this as I am seeing double messages as the logs scroll by during the `phpunit makeTest.php`
Comment #6
dww@moshe: That's what jhedstrom is talking about over at #1434376-11: Errors not propagated, make silently "succeeds" but doesn't do anything -- we don't need both of these issues still open, but I'm not a maintainer so I'll leave that to y'all to sort out. ;)
Comment #7
dude4linux CreditAttribution: dude4linux commentedI've been seeing these duplicate log entries while testing drush make with a variety of installation profiles. Here is one make file that consistently produces the failure, at least for me.
Results when run with drush make
Comment #8
dude4linux CreditAttribution: dude4linux commentedResults when run with drush make --debug
It appears to be downloading the getid3 module from drupal.org twice, not just displaying a duplicate message. Hope this information helps in giving the maintainers a direction to look.
Comment #9
dude4linux CreditAttribution: dude4linux commentedMy drush environment:
Comment #10
greg.1.anderson CreditAttribution: greg.1.anderson commentedCompare:
With:
This is a bug in the handling of 'integrate' => TRUE. I have not had a chance to look into it yet.
Comment #11
dude4linux CreditAttribution: dude4linux commented@greg.1.anderson -- I ran your first command on one of my sites with the same result. I then tried running with --debug without any apparent errors. Frustrating to try and debug. I tried unsuccessfully to apply jhedstrom's patch #1. I tried a --3way merge, but even that wouldn't work. I'm wondering if we don't have two separate problems. Mine seems to only affect drush make. I wasn't giving it a high priority since it seems to be benign, but it does add additional load on the servers.
Comment #12
greg.1.anderson CreditAttribution: greg.1.anderson commentedIt could be that #7 is a different issue, esp. if sections of the code are running twice. In the original issue, the code only runs once, but the messages are emitted twice.
Comment #13
jhedstromI'm pretty sure that the code is not running twice, but will do some checking on that.
Comment #14
dude4linux CreditAttribution: dude4linux commentedI simplified my getid3.make file to only include the getid3 module (eliminated the library files).
The --debug results seem to show that some code is executed twice. I just can't figure out why.
This time I made sure to clear all caches before running the drush make command.
Comment #15
greg.1.anderson CreditAttribution: greg.1.anderson commentedHere is a patch that clears up the double-output of log messages when 'integrate' is true. The existing logic for suppressing double output was not quite right; it worked in verbose or debug mode, but not otherwise (c.f. #11). This patch insures that drush_log is always called when 'integrate' is set, and allows the log message to be printed there; the double-output is now suppressed in drush_backend_packet_log by skipping the call to
drush_get_context_drush_print_log when 'integrate' is set. Maybe I should have wrapped the 'if' around the callback call rather than introducing a no-op function. Stylistic changes can be made if this does the trick; I'm done with fiddling for tonight.I did not investigate #14, but suspect that it may be a separate issue.
Comment #16
moshe weitzman CreditAttribution: moshe weitzman commentedLooks good to me.
Comment #17
greg.1.anderson CreditAttribution: greg.1.anderson commentedCommitted a cleaned-up version of #15. 699f75e.
Please re-open if duplicate log messages are observed, or if log messages disappear completely. Please open a new issue for defects where the same code is called multiple times.
Comment #18
dude4linux CreditAttribution: dude4linux commented@greg.1.anderson - Your patch #15 does indeed suppress the double printing of the log message, however --debug still shows that code to download and extract the package is being executed twice. I can't think of a reason why this is necessary. It doesn't seem to cause a problem with the resulting build and on the second pass the project is downloaded from cache, so there is no load impact on the servers. Still it would be nice to fix this before the 5.0 release and perhaps improve performance a bit. I've attached a marked up log of output from drush make --debug showing the two repeated segments.
Comment #19
dude4linux CreditAttribution: dude4linux commentedSorry, I started composing #18 before you posted #17. I'll open a new issue for the repeated code.
Comment #20
greg.1.anderson CreditAttribution: greg.1.anderson commentedMy fix in #17 was inappropriate. The line I removed is the one that was printing out the log messages in real time; now that I took it out, Drush does not print any log output until backend_invoke finishes. This is undesirable. I need to rework this and figure out the best way to suppress the output at integrate time.
Comment #21
greg.1.anderson CreditAttribution: greg.1.anderson commentedCommitted 6c7f8a1. Note that this also fixes another discrepancy between Drush-5 and Drush-4; we now omit log messages from the console, but include them in the backend results, when integrate is FALSE, just like Drush-4.
Comment #22
greg.1.anderson CreditAttribution: greg.1.anderson commentedForgot to set status.