Closed (fixed)
Project:
Taxonomy Edge
Version:
6.x-1.3
Component:
Code
Priority:
Normal
Category:
Support request
Assigned:
Unassigned
Reporter:
Created:
11 Feb 2012 at 13:58 UTC
Updated:
3 Apr 2012 at 00:50 UTC
Jump to comment: Most recent file
Comments
Comment #1
gielfeldt commentedHi asb
Thanks for reporting this. I'll make a 6.21-24 patch soon. I think the .20 also works on .21 and .22 AFAIR.
/Thomas
Comment #2
gielfeldt commentedHi again
Actually the patch seem to work. Try:
Comment #3
asb commentedHi Thomas,
thanks for the quick reply!
On the site where I'm trying 'taxonomy_edge', I had to downgrade to Drupal 6.23 because 6.24 results in a WSOD. Currently I'm running Pressflow 6.23 on this site, which is supposed to be API-compatible with Drupal core. However:
Contents of taxonomy.module.rej:
Maybe this would qualify as an bug report against Pressflow, if they had an issue queue ;-/
Comment #4
mikeytown2 commented@asb
Just manually edit the taxonomy.module file to add this in at the top of taxonomy_get_tree() ~line:837
And this at the top of taxonomy_select_nodes() ~line:1135
Comment #5
gielfeldt commentedHi asb
Even though the Pressflow taxonomy.module is API compatible, the file may have changed too much for the patch to work.
I might create a patch for pressflow in the next release. Until then, I suggest you just manually add the patch like mikeytown2 suggests.
Remeber not to include the php open and close tags in the code above, they are just for syntax highlighting.
Comment #6
gielfeldt commentedHmmm
I just tried downloading pressflow 6.23, and successfully applied the patch:
Comment #7
mikeytown2 commentedhttps://github.com/omega8cc/pressflow6
Comment #8
gielfeldt commentedHi asb
Did you succeed in applying the patch?
Comment #9
asb commentedNope, and I really don't have time at the moment to educate myself why Github seems to deliver us different Pressflow packages, or if there might be another (official) way to obtain proper Pressflow releases (they don't answer on Launchpad). Sorry :-(
Comment #10
gielfeldt commentedUpdate: I believe #556842: taxonomy_get_tree() memory issues is the reason why the patch doesn't work. I'll have to create a pressflow patch for it to work. Also, I should implement this in Taxonomy Edge and see how it fits.
Comment #11
gielfeldt commentedHere's a patch for pressflow...
Comment #12
asb commentedSorry, fails with
git applywhen running from within the site's root folder, or from within./modules/taxonomy.From
./modules/taxonomy:Comment #13
gielfeldt commentedHi again
Sorry for the long wait.
Did you try with patch -p1 ? If this doesn't work, I'm not quite sure which version of taxonomy.module you have.
If all else fails, you can post your taxonomy.module here, I'll patch it manually for you.
Comment #14
asb commentedThanks for your enormous patience in this matter. Yes,
patch -p1fails as well, at least whentaxonomy-6.x-pressflow.patchis in./modules/taxonomy, andpatch -p1is being called from within this directory. Too bad thattaxonomy.moduledoesn't say in it's header what version it is, and too bad that Drupal isn't able to validate the integrity of it's files; but I'm afraid there is not much point in manually applying a patch that is supposed to apply cleanly, until I have figured out why it doesn't apply on my site.Comment #15
gielfeldt commentedOk. You need to be in the site root folder i think.
Is it ok to close this issue for now? You can open a new one if necessary.
Let me know if you get it to work and if it fits your usecase.
Comment #16
asb commentedHm, I moved the path to Drupal's root folder and tried to appy it with -p1 from there, with the same result. Also the patch does neither apply with -p0, or without any options. So for me the initial question - "What version of Drupal core is required for the core patch?" - is still unanswered since I can't find a Drupal or Pressflow version where it applies (
taxonomy-6.20.patchfails for me as well against an unaltered Drupal core 6.23).However, I still have no clear idea if this module would solve my taxonomy-related performance issues, so it's probably best to uninstall and forget about it, and to not waste any more of your time.
Comment #17
gielfeldt commentedI just applied the patch successfully to 6.20-6.25. However, for some of the versions it gives a notice (offset and fuzz), which is probably an attempt to compensate for a patch that's not a 100% perfect.
So ... I applied the patch and created new patches, designed for those versions. They must be applied with -p0.
I'm hopeful that this will work for you, as there might have been a problem with the patch, which your patch-program was unable to handle.
Comment #18
asb commentedYay, that's progress! taxonomy-6.23.patch applies cleanly (without any offset and fuzz notices) against a vanilla Drupal core 6.23, and taxonomy-6.24.patch applies cleanly against a vanilla Drupal core 6.24, as well. When diffing the patch files, there is a difference between taxonomy-6.23.patch and taxonomy-6.24.patch, but I don't see significant differences between taxonomy-6.22.patch and taxonomy-6.23.patch.
Differencees between taxonomy-6.23.patch and taxonomy-6.24.patch:
Differences between taxonomy-6.22.patch and taxonomy-6.23.patch:
However, to some degree the patches seem to depend on the version of Drupal core, the same might apply for every iteration of Pressflow.
Now I need to figure out what this actually does ;)
My situation: I have a site where Drupal runs up to core version 6.23; starting with 6.24, the site completetely dies with a WSOD (all pages, including admin area). So obviously a regression was introduced with 6.24, and I suspect #556842: taxonomy_get_tree() memory issues to be the root cause. Simple test setup:
Wow! That a) proves that "Taxonomy Edge" actually does something good, and b) migh suggest that #556842 should be thoroughly re-inspected, and c) might suggest that "Taxonomy Edge" could be considered to go into Drupal core.
Currently I'm running 6.25, and I'll monitor the site's behaviour for a while. Then I'll try Pressflow again, which might require new patches...
Thanks again for this fascinating module!
Comment #19
gielfeldt commentedHi asb
Glad to hear it worked. I'll commit the patches to 6.x-1.x-dev soon.
I'm interested to know if you noticed any performance improvements, since this is one of the main purposes of this module.
Btw, the reason that Taxonomy Edge doesn't WSOD, is probably because Taxonomy Edge's get_tree() function is based on Drupal 6.20. I was considering porting the new core get_tree() to Taxonomy Edge, but now I think I'll wait until the issue is resolved.
Comment #20
asb commentedYes, the site feels slighty faster than with an unaltered Drupal core, judging from overall performance as a logged-in user (the effects of Pressflow plus APC and Memcache are far more noticable; anonymous users get static pages through 'boost', and there I can't tell any difference). Working with tools like 'Taxonomy Manager' or 'Taxonomy_VTN' does not feel faster, and accessing certain pages like
./taxonomy_vtn/voc/2(an taxonomy_ctn index page) still times out after about 2.5 minutes. For me the main advantage is that the site runs on Drupal core 6.24+If you have any suggestions for more objective tests, please feel free to share your ideas. I'm afraid, just running 'Apache Bench' against some taxonomy pages won't make much sense. However, I'd be interested in benchmarks as well since taxonomy might become a bottleneck on other sites as well.
Comment #21
gielfeldt commentedOk. I don't know Taxonomy VTN, I'm checking it out now. If you say it times out, I'm sure it can be optimized perhaps by using Taxonomy Edge.
Btw: Taxonomy Manager is "somewhat" incompatible with Taxonomy Edge (among others) due to Taxonomy Manager not invoking taxonomy hooks @see #1131904: Move operation should also invoke hook_taxonomy.
I think it's limited to when you move terms (but I'm not sure). After moving terms with Taxonomy Manager, you need to do a "Rebuild edges" on the "/admin/content/taxonomy/edge" page.
Regarding performance, it's most noticable in setups with lots of terms in hierarchies and nodes tagged with these, as sub-tree searches are limited to the relevant terms only. Especially the taxonomy pages /taxonomy/term/%tid/all.
Comment #22
asb commentedOK, lots of terms in hierarchies and tagged nodes I *do* have on some of my sites, and yes, browsing through taxonomy pages like
./taxonomy/term/287/all?page=2*is* faster (unpatched core: 4-6 sec., with 'Taxonomy Edge' 3-4 sec. (time to load the page, according to Opera's status bar).Regarding modules from contrib like Taxonomy Manager oder Content Taxonomy: There are lots of problems with those when it comes to "large" vocabularies (> 10k of terms), but these modules are de facto abandoned, at least in the D6 branches. With Taxonomy VTN, there's at least a better chance to get proper patches into the repository. The vocabulary that times out with Taxonomy VTN is particulary interesting since 'Systeminfo' (
./admin/reports/systeminfo/drupal) reports: 2,424 terms; Taxonomy VTN reports: 20,039 terms; withselect tid,vid from term_data where vid=2;, issued from the MySQL shell, I get 2,424 rows. Whatever Taxonomy VTN counts, it counts something else than one might think (option checked: "Show count of terms", maybe it's the number of nodes tagged with a term from this vocabulary). Optimizing with Taxonomy Edge? Maybe, but I have it configured to page after 50 links per page, so theoretically it shouldn't even be able to time out.Enough of this, we're going totally off topic… ;-/
Comment #23
gielfeldt commented:-). Ok. Glad to hear it works. I've committed the patches to 6.x-1.x-dev.
Comment #24
asb commentedBtw, taxonomy-6.25.patch also applies cleanly against the current Pressflow from Github, WTF-named "pressflow-6-pressflow-6.25.108-0-g3829e2f.zip".