nsmcp::accessUnifiedFailure

 nsmcp::accessUnifiedFailure

Defined in

Partial Call Graph (max 5 caller/called nodes):
instproc instproc nsmcp::accessUnifiedFailure nsmcp::accessUnifiedFailure instproc->nsmcp::accessUnifiedFailure nsmcp::UnifiedAccessAnalytics nsmcp::UnifiedAccessAnalytics nsmcp::UnifiedAccessAnalytics->nsmcp::accessUnifiedFailure nsmcp::UnifiedAccessAnalytics instproc init nsmcp::UnifiedAccessAnalytics instproc init (protected) nsmcp::UnifiedAccessAnalytics instproc init->nsmcp::accessUnifiedFailure refresh refresh refresh->nsmcp::accessUnifiedFailure

Testcases:
No testcase defined.
Source code:
    set code {NSMCP ACCESS_INGEST operation-failed}
    if {[dict exists $options -errorcode]} {
        set candidate [dict get $options -errorcode]
        if {[lrange $candidate 0 1] eq {NSMCP RECORD_STORE}
            && [regexp {^[a-z][a-z0-9-]{0,63}$} [lindex $candidate 2]]} {
            set code [lrange $candidate 0 2]
        }
    }
    set now [clock seconds]
    set key nsmcp:access-store:[ns_info server]
    set loggedAt 0
    if {[nsv_exists $key lastFailure] && [dict exists [nsv_get $key lastFailure] loggedAt]} {
        set loggedAt [dict get [nsv_get $key lastFailure] loggedAt]
    }
    set failure [dict create at $now code $code phase $phase]
    if {[dict exists $settings maxBytes]} {
        set budget [dict get $settings maxBytes]
        dict set failure storageMaxBytes $budget
        dict set failure storageMainAllowanceBytes [expr {wide($budget)*2/5}]
    }
    if {$now-$loggedAt>=60} {
        set suffix {}
        if {[dict exists $failure storageMainAllowanceBytes]} {
            set suffix "; main-page allowance up to [dict get $failure storageMainAllowanceBytes] bytes, total store budget [dict get $failure storageMaxBytes] bytes"
        }
        ns_log warning "nsmcp: continuous access ingestion paused ($code), phase=$phase$suffix; committed data is preserved and other diagnostics remain available"
        set loggedAt $now
    }
    dict set failure loggedAt $loggedAt
    nsv_set $key lastFailure $failure
    return [dict create failed true code $code]
XQL Not present:
Generic, PostgreSQL, Oracle
[ hide source ] | [ make this the default ]
Show another procedure: