• last updated 2 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Fix typos

  1. … 5 more files in changeset.
fix cache_key name for node_id in flush_cache

scalability improvement: don't force a conversion of the string to a list (for sites, having e.g. several 10k sub nodes on a site node)

on one site, this change reduces the overall processing time of a requests from ~16-20ms to ~4ms

improve spelling

  1. … 6 more files in changeset.
improve log message

Fix parameter names in proc doc

Replace array idioms with dict idioms

flush per-request cache (fixes regression test properly)

Revert change... more investigation needed

node_id shoudl probably be parent_id (fixes automated tests)

improve rowcount expressions

  1. … 76 more files in changeset.
document public methods

it seems, we can reactivate per-request caching for sitenodes, otherwise we see up to 37 locks per requests on get_node_id on openacs.org (regression test works fine)

fix site-node test in regression test

don't use per-request caching, since we migh shoot in our own foot

interrupt cache_transaction to achieve desired semantics

allow in a few cases empty node_ids for method "get_url" as it is used by current OpenACS

  1. … 1 more file in changeset.
Get parent only once

Fix proc and contract doc elements, so they are properly parsed by apidoc::api_*_documentation.

- Add mising @param

- Add missing @author

- @creation_date -> @creation-date

- @creation-user -> @author

- Fix typos

  1. … 8 more files in changeset.
strengthen type checking for site_node ids to make it clear that empty strings are not accepted

Improve naming: rename TreePartitionedCahe to KeyPartitionedCache

  1. … 4 more files in changeset.
base xotcl-based site nodes implementation on partitioned caches

reduce dependencies on xotcl-core

  1. … 2 more files in changeset.
improve spelling

  1. … 12 more files in changeset.
fix typo

  1. … 1 more file in changeset.
site-nodes cache reform: use ns_urlsspace instead of brute-force caching.

For OpenACS site with recent versions of NaviServer and XOTcl2,

cache sitenode information much more efficiently by the built-in

URL trie, which supports tree match operations, for

tree information. This means that for example for .vuh

handlers it is not necessary to cache the full url for

obtaining the site-node, like it was until now:

3839 id-/storage/view/installers/windows-installer/installer.htm

3839 id-/storage/view/aolserver/install.tgz

3839 id-/storage/view/tutorial/OpenACS_Tutorial.htm

3839 id-/storage/view/openacs-dotlrn-conference-2007-spring/Methodology_ALPE.pdf

3839 id-/storage/view/xowiki-resources/Assessment.jpg

3839 id-/storage/view/tutorial-page-map.png

...

Providing a single entry like

ns_urlspace set -key sitenode /storage/* 3839

is sufficient.

Why is this needed: current cache sizes of larger sites show 330K

(site A) and 390K (site B) cache entries. Matchbase flushes have to

gor thhrough all these entries, causing long lock times. Running

thhis code at OpenACS.org shows an improvement by a factor of more

than 200x.

  1. … 1 more file in changeset.
Revert massive replacement of empty list creation sentences. The use of '[list]' instead of '{}' adds semantics that could be used for performance improvements in the future, such as using a different internal representation. There is already work in this direction, avoiding the generation of the string representation during comparison of empty strings (huge thanks to Stefan Sobernig for the pointer: https://core.tcl.tk/tcl/info/44527c632ed609c2).

  1. … 475 more files in changeset.
Prefer '{}' to '[list]' when creating empty lists

  1. … 71 more files in changeset.
Remove extra line

Prefer 'in' and 'ni' operators over lsearch for testing list containment

  1. … 3 more files in changeset.
Mark procs as deprecated, which were previously just documented as

deprecated and document recommended versions via @see. These procs

should be moved to *deprecated*.tcl after a while to give people

a chance to react (maybe in 5.11 or 5.12).

site_node::conn_url -> ad_conn

site_nodes_sync -> site_node::init_cache

site_node_id -> site_node::get_node_id -url

site_map_unmount_application -> site_node::unmount

site_node_delete_package_instance -> site_node::delete

Fix typos

  1. … 28 more files in changeset.
whitespace changes

Don't hard-code the SiteNodeCache sizes in the library file and bump version number

Backport from HEAD

  1. … 1 more file in changeset.