Forum OpenACS Q&A: Re: Error using External Authentication

Collapse
Posted by Nima Mazloumi on

Matthias/Lars:

Thank you very much for your help.

Regarding the username two things.

  1. I think OpenACS created the username Administrator for the admin of the site. So this should be enough in the first place to allow at least an admin to login to the site.
  2. Second there could be many ways to generate usernames:
    • use of the userid
    • use of the email as well for those instances where no username is provided
    • use of the text before the @ in case all emails are from the same server...so they must be unique.

Lars:
Regarding the batch synch:

  1. It takes the server 1 minute for 4 actions which seems strange. The first time I did that it took me 12 hours for 20000 user which is 27 actions/minute.
  2. I get different error messages from the batch synch page:
    Start time        End time          Run time    Actions  Problems  Actions/Minute  Message                 Interactive  
    18.01.2004 16:04  19.01.2004 15:12  23h 7m 57s  8870      9        6                Error processing sync docum...  No  
    19.01.2004 16:21  19.01.2004 17:02  40m 53s     168       0        4                Error processing sync docum...  No  
    20.01.2004 01:00  20.01.2004 01:00  1s          0         0                         Error processing sync docum...  No  
    

Here are the corresponding error messages:

  1. Batch 1
    Error processing sync document: Transaction aborted: Database operation "dml" failed ERROR: auth_batch_job_entries_user_fk referential integrity violation - key referenced from auth_batch_job_entries not found in users SQL: insert into auth_batch_job_entries (entry_id, job_id, operation, username, user_id, success_p, message, element_messages) values ('13904', '3', 'insert', 'hremle', '604671', 'f', 'Database operation "0or1row" failed (exception NSDB, "Query was not a statement returning rows.") ERROR: deadlock detected SQL: select dotlrn_student_profile_rel__new(NULL,''604671'',''604673'',NULL,''hremle@rumms.uni-mannheim.de'',''dotlrn_student_profile_rel'',NULL,''1420'',''134.155.53.42'') while executing "ns_pg_bind 0or1row nsdb0 { select dotlrn_student_profile_rel__new(NULL,:user_id,:portal_id,NULL,:id,''dotlrn_student_profile_rel'',NULL,:creation_user..." ("uplevel" body line 1) invoked from within "uplevel $ulevel [list ns_pg_bind $type $db $sql" ("postgresql" arm line 2) invoked from within "switch $driverkey { oracle { return [uplevel $ulevel [list ns_ora $type $db $sql] $args] } ..." invoked from within "db_exec 0or1row $db $full_statement_name $sql" invoked from within "if {[regexp -nocase -- {^\\s*select} $test_sql match]} { ns_log Debug "PLPGSQL: bypassed anon function" set selection [..." ("uplevel" body line 6) invoked from within "uplevel 1 $code_block " invoked from within "db_with_handle -dbn $dbn db { # plsql calls that are simple selects bypass the plpgsql # mechanism for creating anonymous fun..." (procedure "db_exec_plsql" line 57) invoked from within "db_exec_plsql create_object " BEGIN :1 := ${package_name}.new([plsql_utility::generate_attribute_parameter_call -prepend ":" -indent [expr..." (procedure "package_instantiate_object" line 106) invoked from within "package_instantiate_object -creation_user $creation_user -creation_ip $creation_ip -start_with "relationship" -form_id $form_id -extra_vars $extr..." invoked from within "set rel_id [package_instantiate_object -creation_user $creation_user -creation_ip $creation_ip -start_with "relationship" -form_id $form_id -extr..." ("uplevel" body line 3) invoked from within "uplevel 1 $transaction_code " (procedure "db_transaction" line 1) invoked from within "db_transaction { set rel_id [package_instantiate_object -creation_user $creation_user -creation_ip $creation_ip -start_with "relationship" -form..." (procedure "relation_add" line 16) invoked from within "relation_add -extra_vars $extra_vars -member_state approved [get_rel_type_from_user_type -type $type] "" $user_id " invoked from within "set rel_id [relation_add -extra_vars $extra_vars -member_state approved [get_rel_type_from_user_type -type $type] "" $user_id ]" ("uplevel" body line 10) invoked from within "uplevel 1 $transaction_code " (procedure "db_transaction" line 39) invoked from within "db_transaction { set_can_browse -user_id $user_id -can_browse\\=$can_browse_p set portal_id [portal::create -template_id $tem..." (procedure "dotlrn::user_add" line 20) invoked from within "dotlrn::user_add -id $user_info(email) -type $type -can_browse=$can_browse_p -user_id $user_id" ("insert" arm line 25) invoked from within "switch $operation { "insert" { # We set email_verified_p to ''t'', because we trust the email we get from th..." ("uplevel" body line 2) invoked from within "uplevel $body "', NULL)
    
  2. Batch 2
    Error processing sync document: Transaction aborted: Database operation "0or1row" failed (exception NSDB, "Query was not a statement returning rows.") ERROR: current transaction is aborted, queries ignored until end of transaction block SQL: select nextval('auth_batch_job_entry_id_seq') as nextval where (select relkind from pg_class where relname = 'auth_batch_job_entry_id_seq') = 'S'
    
  3. Batch 3
    Error processing sync document: Transaction aborted: 14073 

Greetings and thank you very much,
Nima