Active Sync process "hanging"

Hi Experts,
Last weekend an Acticve Sync task "hung" for 2 days. The Active Sync is scheduled to start every 24 hours at 8:30am.
This morning however its status was "Started, executing" yet nothing was being logged. I would expect something as its log level is 4.
The last time the AS was started was Friday but having the task in this state prevented the Saturday or Sunday morning runs from being executed.
The only way to recover was to reset IdM by restarting the webserver.
What circumstances could cause Active Sync to 'hang' like this?
Has anyone else suffered this sort of situation and if so was the cause determined?
Any hints or tips appreciated.

We have experienced this behavior on a fairly frequent basis with our Active Directory Active Sync processes.
We are not sure why the system behaves this way.
We are in the habit of manually monitor the active sync jobs on a daily basis.
We have the log level set to 2 on our 11 Active Directory resources.
We view the timestamps on the log files to determine if the Active Syncs are truly running.
Our 11 Active Directories run every 3 hours. I note this because the time stamp on the log files should be older than 3 hours (in our case) if the Active Sync (A/S) process is truly not running.
Here is our process when restarting the A/S.
1. Make sure the Task SARunner:<Active Directory Resource> is running.
a. Go to the Tasks form and get a list of All Tasks.
b. Find the SARunner:<Active Directory Resource>. If this task is not running then you need not read any further because you will need to recycle your Websever to get the Active Syncs to run.
2. If the Task is running.
a. Go into Debug and edit the Active Directory Resource.
b. Change the Polling Start Time and Polling Start Date to the desired start time. Note: Set the start time at least 10 minutes into the future. So if at 11 am your making the change then set the polling start time to 11:10 (at a min.)
b.     Save the changes.
3. Navigate to the resources form.
a. Stop the Active Sync
b. Refresh the Active Sync
c. Start the Active Sync
d. Refresh the Active Sync.
Good Luck.

Similar Messages

  • Active sync : process selection values are not persistent

    Hi,
    Version: IDM : 6
    I am attempting to provision oracle user accounts through IDM active sync process running against an AD LDAP server.
    I want to use default forms/views supplied by IDM product, and configure active sync to use my custom workflow on create/update events.
    I was not able to save my workflow for any of the events in process selection module of active sync configuration.
    this is what i did..
    ======================================================
    Active sync in (advanced mode) ->Process Selection
    Process Mode      
    Use the event type to determine the process / workflow ? (enabled)
    Create -> (from available workflows i select my custom workflow ) save
    ======================================================
    after saving my changes , i again re-visited active sync-> process selection : to confirm my changes.
    i do not see my saved workflow for create , but i see "default" as selected.
    Is assigning custom workflows through actives syncs process selection allowed?
    If Yes, How do i preserve my active sync-> process selection configurations?
    Thanks
    Edited by: idm_new_user on Jun 3, 2008 9:44 AM

    Hi Chapo,
    Thanks for trying to help me out...
    Issue is not with assigning my custom form to my active sync process, it works that way...(i can achieve AD->IDM->ORACLE provisioning) using custom form/workflow...i now want to use, forms/workflow shipped out of box by IDM product to achieve provisioning of oracle accounts(Target) with Active Sync configured on AD (source).I am having issues with this configuration...i am not sure , it even works, out of box with out editing any forms/workflows !!!
    what i now to achieve is a partial customization, i.e use forms supplied out of box by idm's active sync process, and ONLY use my custom workflows to do create/updates...
    This is what i am trying to do, for an active sync configured on AD resource in advanced mode.
    Find the AD LDAP resource under the Resources tab.
    The check the box on the left hand side.
    Now select "edit Active Sync process" from the drop down box.
    In the active sync ->process selection view...select "use event type to determine the process/workflow ?"
    and assign my custom workflows for create/update events...
    after saving this, i revisit to confirm my changes...only to find that , they get lost/replaced by "default"
    so, my question is how do i configure an active sync to use my workflow on create/update events...with out using my custom forms? if "process selection" module of active sync wizard is the way to do this, how can i save my configurations?

  • Ensure 1 Active Sync process runs against the change log before all others?

    He folks,
    We have a lot of LDAP active sync thread. We have a primary on that correlates to an individuals account. Then we have several that represent affiliations at our organization. The affiliations are represented in LDAP as subordinates of the main persons entry. These sets of data were set up as different resource adapters because the they are different object types in LDAP.
    Now we are running into a problem where the active sync threads for subordinates are running before the thread for the main entry. What this means, is that an affiliation thread might run, see a new person was added and ignore it (since that isn't it's resource) but find the affiliation subordinate entry and want to process it. However, the thread can't find an associated account in IDM yet, so no processing takes place on that change, ever..
    If the main account active sync thread had already run, it would see the main entry, and then make a correisponding IDM entry. If the IDM entry has been made, and the affiliation resource active sync adapter runs, it will then find the IDM entry and update that.
    So.. We are experience problems when the affiliation processes a new account before the main account sync process.
    Can we ensure somehow that the main account active sync process always runs first? These are all LDAP resources. If we could ensure the main account resource / sync happens before any other affiliation resource, then we would never ignore data, and would not have anyproblems.
    Does anyone know of a good clean way to do this?
    Thanks!

    I had a similar issue, and solved it by using post process workflows and starting and stopping resource adapters manually. This will allow you to start the first resource, and any others you want can be started/stopped manually via the workflow. You can effectively "chain" resource adapters to run in any order you'd like.
    On the first resource that you want to run before anything else, this will run as a post-process workflow:
         <Activity id='0' name='stopFirstResource'>
            <Action id='0' name='stop'>
              <expression>
                <block name='stop'>
                  <invoke name='stopActiveSyncOnResource' class='com.waveset.session.SessionUtil'>
                    <ref>displaySession</ref>
                    <s>%%FIRSTRESOURCENAME%%</s>
                  </invoke>
                </block>
              </expression>
            </Action>
            <Transition to='Process Errors'>
              <ref>WF_ACTION_ERROR</ref>
            </Transition>
            <Transition to='startSecondResource'/>
          </Activity>
          <Activity id='1' name='startSecondResource'>
            <Action id='0' name='start'>
              <expression>
                <invoke name='startActiveSyncOnResource' class='com.waveset.session.SessionUtil'>
                  <ref>displaySession</ref>
                  <s>%%SECONDRESOURCENAME%%</s>
                </invoke>
              </expression>
            </Action>
            <Transition to='Process Errors'>
              <ref>WF_ACTION_ERROR</ref>
            </Transition>
            <Transition to='end'/>
          </Activity>
    This will stop the first one (after it has run) and start the second one.
    Then, on the post process workflow of the second resource:
          <Activity id='1' name='stopSecondResource'>
            <Action id='0' name='stop'>
              <expression>
                <block name='start'>
                  <invoke name='stopActiveSyncOnResource' class='com.waveset.session.SessionUtil'>
                    <ref>displaySession</ref>
                    <s>%%SECONDRESOURCENAME%%</s>
                  </invoke>
                </block>
              </expression>
            </Action>
            <Transition to='Process Errors'>
              <ref>WF_ACTION_ERROR</ref>
            </Transition>
            <Transition to='end'/>
          </Activity>This stops the second one.

  • Re-Start Active Sync process where ever it was left

    I was forced to delete the SA runner active sync process. By this time the process completed 200 records.
    Now I want to re-start the Async process from 201 record.
    Any ideas how to achieve this?
    THanks.

    ActiveSync sorts by the uniqueId for each record.
    1) Backup the full files as you will need to copy back over the modified files for processing a subset of the records
    2) Make sure the ActiveSync & FFAS files are sorted correctly
    3) delete the 200 records that processed already such that the 201 is the beginning
    4) Before processing the diffs of the modified ActiveSync & FFAS files you need to complete a processing of the modified FFAS file without any diffs (ActiveSync = FFAS). This tricks AS into starting at the 201 without reprocessing the 1st 200.
    5) Now process the modified ActiveSync against the modified FFAS.
    6) On completion set both the modified files back to the saved full AS so all records exist for future executions

  • Problem with Active Sync Process in Flat File

    I have a flat file (Employee.csv) as a resource. I populated that data into IDM using Active Sync.
    Ive created another flat file that is empty (CopyEmployee.csv) and added that as resource to IDM.
    By using the Active Sync process I want to populate the data from Employee.csv to CopyEmployee.csv.
    I tried but unable to get the output. Is this really possible ?
    Im using IDM 6.0 on SunApp 8.1

    Nope, flatfile is a read only adapter, to the best of my knowledge. You can use it to feed IM, that's it. No recon, nothing else. That's coz IM doesn't maintain a state for it (just does a diff with an index file during ActiveSync).
    You can think of maintaining a simulated resource on a file though.
    Ankush

  • LDAP Active Sync is Hanging

    Howdy all,
    I'm looking for some advice on debugging an active sync issue. We are running IDM 7.0, and do a lot of processing via our LDAP active sync workflows. Currently we are experiencing an increasing amount of hung active sync threads. When looking at the active sync logs, and the jakarta tomcat logs, we don't really see any errors or clues. If we examine the Show_Provisioning debug page, we can often see that a provision thread is fetching a user from some resource when it hangs. It is not hanging up on the same user, or same resource. Has anyone experienced anything like this before? Does anyone have any ideas on good ways to debug it? I was thinking about trying to trace some of the java classes that are executing, but am not sure which ones are likely candidates. Please let me know if you have any other debugging ideas.
    Thanks!

    Did you set the java heap size in Tomcat?

  • How to catch error in the Active Sync process

    Hi, we are using Flat File active sync to update IDM user attribute. Once IDM found matched record, it builts view. However, during this period, the the matched user is locked, for example. Then IDM stop processing this record then go to next record. How can I catch this error? In log file I saw error message but how can use workflow or other way to know the error? How can get ResultItem that contains error message during AS?

    Hi,
    I am doing the following....
    Assume a main workflow which calls many sub workflows ...
    1. Define two global variables as follows
    <Variable name='anyErrorOccured'><Boolean>false</Boolean></Variable>
    <Variable name='allErrorMsg'><s>Error..</s></Variable>
    2. In the all main and sub workflows, add an special 'Action' to check the errors after each Action
    <Action id='1' name='doSomething'>
    </Action>
    <Action id='2' name='checkForErrors'>
    <cond>
    <isTrue><ref>WF_ACTION_ERROR</ref></isTrue>
    set the anyErrorOccured variable to true
    Append a custom error message(hard coded) to allErrorMsg variable - error message may contain workflow name and in which action error occured
    </cond>
    </Action>
    3. Before ending the main workflow, if anyErrorOccured is true, then send an email to IDM administartor with allErrorMsg
    <Activity id='3' name='CheckOverallError'>
    <Transition to='SendOverallErrorNotificationToIDM'>
    <ref>anyErrorOccured</ref>
    </Transition>
    <Transition to='end'/>
    </Activity>
    Hope, this helps.
    Furthermore, I tried to catch the actual error trace from IDM using the following in each 'checkForErrors' Action and append all IDM error messages for email notification.
    <invoke name='getMessage'>
    <get>
    <invoke name='getErrorMessages'>
    <ref>WF_CASE_RESULT</ref>
    </invoke>
    <i>1</i> ???????
    </get>
    </invoke>
    But , it was not successful, as I could not extract the right error mesage at the right place from WF_CASE_RESULT

  • How to shorten active sync process

    Hello, I am trying to setup IDM to use Database Table active sync to read SQL table then update couple IDM user's attributes. I used "used wizard generated input form" setting. Once it runs, IDM connects all the resources and fetches all the information of res account that each user has. We have over 6000 user. The active sync took over 10 hours to finish. Where and how can I let active sync not to connect other resource?

    I identify that the query allowing take a while.
    Periodicly, MGP send from 2 to 8 process which execute the query that takes all the processor. Even there are nothing to update.
    How to acelerate it? or how to avoid it?.
    UPDATE mobileadmin.cmp$wtgpi_10055 m
    SET dmltype$$ = 'D',
    seqno$$ = NULL,
    dtype$$ = NULL
    WHERE clid$$cs = 'XNC04615'
    AND nvl(dtype$$, 'N') <> 'D'
    AND (seqno$$ IS NOT NULL
    OR nvl(dmltype$$, 'N') <> 'D')
    AND NOT EXISTS (SELECT 'A'
    FROM (SELECT t1.*
    FROM shmk.designs_data t1, shmk.userdatakey t2
    WHERE t2.user_id = 'XNC04615'
    AND t1.ref = t2.ref) s
    WHERE s.ref = m.ref) ;

  • My sync process hangs on "Preparing Sync Preview" and never finishes

    After a recent desktop software update the sync does not function properly and hangs.  I've left it for up to 2 hours and it never finishes.  Anyone else have this problem and let me know how to fix it.

    Okay, after reading some other online material, suspicion fell on the Blackberry Desktop Software 7.0 version. I uninstalled that version (keeping the data), then downloaded and installed version 6.1, and all is working correctly again.
    The attempts to fix the 7.0 sync problems did some strange things to my device, and I fortunately had a backup from a day or two before to restore. When I tried to sync again with 7.0 after restoring, my home screen photo disappeared and a couple of other odd things happened. A hard battery pull and reboot cleared those.
    I'm now able to sync with version 6.1 without any problems. However, I'm now unable to back up to the existing file because the software says I can't write to it! One thing at a time, I guess . . .

  • Possible sync process hanging my new Macbook Pro

    I've searched the web for an answer to this but can't find anything addressing it. In brief, my new (2 weeks) Macbook Pro 13 stalls (with/without spinning rainbow) and I've noticed this possible culprit in the console app. I can't seem to identify what app is responsible for this and am hoping that someone out there has an answer:
    "15/Jul/09 15-Jul-09 9:27 kernel /drv/ MacAsyncDevice.cpp:229 Wait for hostwait_work_complete_asyncdevice (02:00) finished with timeout."
    Can anyone tell me what is generating this? I have multiple successive instances every time my system hangs.

    thank you for the input carolyn but i confirm that i do not use mobileme. any idea what else that console message could be? i am going to monitor console every time the system hangs to see if its the same culprit but would appreciate some answers. also this has been logged here: http://getsatisfaction.com/apple/topics/syncprocess_hanging_leopard_10_5_7_on_macbookpro

  • Last Fetched Predicate statement in active sync process

    Can anybody tell me what should be the Last Fetched Predicate and Static Search Predicate for a changelog table with seqno column for polling to a sql database.
    From this post, http://forum.java.sun.com/thread.jspa?forumID=764&threadID=5104031
    let say I have a polling to a changelog db table with a seq number and it will have to read from this table. But, in my case, I just need to look for a code in the table to fire a workflow.What would be the good approach to achieve this requirement?

    Hi,
    If lastmod is a varchar2 in the database,
    then you need to say:
    lastmod > '$(var)'
    where var is the identity manager variable
    that lastmod is mapped to in the resource schema.
    Basically, if you say:
    x > '$(y)'
    x must be a field name in the database
    y must be the identity manger variable it
    maps to in the schema in the
    resource adapter configuration.
    If you edit the resource schema from the
    identity manager web interface, you should
    be able to see the mapping.
    Hope this helps,
    John I

  • Active Sync Not Starting

    Getting this crazy error:
    Error starting #ID#C4C490642F5489B6:309EE1:106A49D3C08:-7FFB.Source adapter management is initializing.
    Obviously the first bit is the resource adapter's ID. This problem just suddently started happening after a restart and no changes to the RA configuration. Thankfully it's a test box...
    Anyway, when we try and start the adapter we get this error and in the WebLogic logs we see this:
    Exception in Scheduler thread:
    com.waveset.util.InternalError: Item 'TaskInstance:SARUNNER:#ID#C4C490642F5489B6:142C63F:1069A84A3C0:-7FC6(id=null)' object is null.
    com.waveset.util.InternalError: Item 'TaskInstance:SARUNNER:#ID#C4C490642F5489B6:142C63F:1069A84A3C0:-7FC6(id=null)' object is null.
    Weird that it thinks the object is null seeing as how we'd made not changes the RA. Has anyone seen this error?

    We had a similar problem on the production environment with the same error as listed on the original post. After struggling for almost 2 work days and the weekend, the issue was that the AD gateway service hung, and restarting the gateway service started all the active sync processing again.
    The basic problem is that no error is logged related to the Gateway service (either on IDM side or on the AD server), and the active sync processing thread will hang in execute mode trying to connect to AD. No proper error led us all over the place starting with the database resource which the active sync was running against.
    So check that all the applicable resources are responding before getting deeper into Active sync debugging.

  • Automatic Active Sync failed to Start at appropriate time

    Hellos,
    Its holiday season here. We had a FF Active Sync process that failed to start up.
    Ops noted an overheating CPU at 2am. Server was brought down.. App server stopped, Database stopped. Fan fixed and Server rebooted.. Database started Ok, App server started Ok.. according to AS Log idM started up ok... but the 'automatic' Active Sync process refused to start.
    What could prevent it?!
    I have seen various people's opinions.. e.g.
    "Hi,
    There can be lot of reasons , for not starting activesync.
    if you are using activesync between SIM and database ,
    then lets start from activesync wizard ,
    1)check the i/p activesync form(version should be correct)
    2)check the startup type
    3) if you are using query based activesync
    check the first and last predicate fields and you need to ensure that the logic you have used in i/p activesync form will generate some processing once you start active sync otherwise you will not see active sync in executing state.
    you can check weather activesync has performed operation or not in IAPI in the debug page under configurator
    if your CPU utilisation on server is very high activesync will not start
    these are general things
    if you can give some more specific details abt your application and problem i can help you out.
    Warm Regards,
    Gajanan"
    This process had been left unstarted for some time. Noone checked.. why should they.. its automatic (obviously IdM isnt an R.E.M. fan)
    Surely an automatic start type should (re)start after a reboot for hardware reasons!
    Is the only thing we can we put in a Solaris shell script to test that these ****ing active sync process have been started and are running after a reboot/restart of App.server is a date test of the log file? i.e. if log file has not been touched in x days raise an alarm... seems something that is better built into IdM than a script.
    How has this problem been faced and met by others out there? I am sure we are not the only people who have had to shutdown and restart IdM.

    Indeed it does. The problem is that a log is just that.. a log of what has happened. In our case the 'automatic' AS process failed to start automatically.
    We are forced to use the log and reverse apriori reasoning to detect whether the AS process actually started.
    I hope you agree this situation isnt really satisfactory, is it?

  • Linking Multiple Resource Accounts via Active Sync

    Ok guys/gals the scenario is... We have one idm account linked to accounts on one resource, and we want to be able to link them up via Active Sync...We don't care about the attributes, just want to make sure that if a another account for a user is created outside of IDM we can grab it and link it. So far, I've seen that the active sync process will see the new account, correlate it to a user, but it will not link the user...And outside of doing a custom Process Rule workflow, I'm not seeing any other way to get the accounts to link via active sync. Is what we are trying to do a reconciliation thing only? Have I missed something?

    Yes. You can add a field to your ActiveSync form to do this: Here is an example with AD:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE Configuration PUBLIC 'waveset.dtd' 'waveset.dtd'>
    <Configuration name="Sample ActiveDirectory ActiveSync Form" wstype="UserForm">
         <Extension>
              <Form name="Sample ActiveDirectory ActiveSync Form">
                   <Field name="processType">
                        <Default>
                             <s>NONE</s>
                        </Default>
                   </Field>
                   <Field name="dispatcher">
                        <Expansion>
                             <cond>
                                  <eq>
                                       <upcase>
                                            <ref>feedOp</ref>
                                       </upcase>
                                       <s>UPDATE</s>
                                  </eq>
                                  <block>
                                       <set name="update.selectAll">
                                            <s>false</s>
                                       </set>
                                       <dolist name="resObj">
                                            <ref>waveset.accounts</ref>
                                            <block>
                                                 <set name="resName">
                                                      <get>
                                                           <split>
                                                                <ref>resObj</ref>
                                                                <s>:</s>
                                                           </split>
                                                           <i>1</i>
                                                      </get>
                                                 </set>
                                                 <set>
                                                      <concat>
                                                           <s>update.accounts[</s>
                                                           <ref>resName</ref>
                                                           <s>].selected</s>
                                                      </concat>
                                                      <s>false</s>
                                                 </set>
                                                 <cond>
                                                      <match>
                                                           <ref>resName</ref>
                                                           <ref>activeSync.resourceName</ref>
                                                      </match>
                                                      <cond>
                                                           <eq>
                                                                <ref>
                                                                     <concat>
                                                                          <s>waveset.accounts[</s>
                                                                          <ref>resName</ref>
                                                                          <s>].accountGUID</s>
                                                                     </concat>
                                                                </ref>
                                                                <ref>activeSync.objectGUID</ref>
                                                           </eq>
                                                           <set name="resourceName">
                                                                <ref>resName</ref>
                                                           </set>
                                                      </cond>
                                                 </cond>
                                            </block>
                                       </dolist>
                                       <cond>
                                            <isnull>
                                                 <ref>resourceName</ref>
                                            </isnull>
                                            <set name="processType">
                                                 <s>LINK</s>
                                            </set>
                                            <set name="processType">
                                                 <s>UPDATE</s>
                                            </set>
                                       </cond>
                                  </block>
                             </cond>
                        </Expansion>
                   </Field>
                   <Field name="IAPI.cancel">
                        <Expansion>
                             <s>true</s>
                        </Expansion>
                        <Disable>
                             <eq>
                                  <ref>processType</ref>
                                  <s>LINK</s>
                             </eq>
                        </Disable>
                   </Field>
                   <Field name="doLinking">
                        <Expansion>
                             <block>
                                  <append name="waveset.resources">
                                       <ref>activeSync.resourceName</ref>
                                  </append>
                                  <set>
                                       <concat>
                                            <s>waveset.accounts[</s>
                                            <ref>activeSync.resourceName</ref>
                                            <s>].accountId</s>
                                       </concat>
                                       <ref>activeSync.identity</ref>
                                  </set>
                                  <set>
                                       <concat>
                                            <s>waveset.accounts[</s>
                                            <ref>activeSync.resourceName</ref>
                                            <s>].sAMAccountName</s>
                                       </concat>
                                       <ref>
                                            <s>activeSync.sAMAccountName</s>
                                       </ref>
                                  </set>
                                  <set>
                                       <concat>
                                            <s>waveset.accounts[</s>
                                            <ref>activeSync.resourceName</ref>
                                            <s>].accountGUID</s>
                                       </concat>
                                       <ref>activeSync.objectGUID</ref>
                                  </set>
                             </block>
                        </Expansion>
                        <Disable>
                             <neq>
                                  <ref>processType</ref>
                                  <s>LINK</s>
                             </neq>
                        </Disable>
                   </Field>
              </Form>
         </Extension>
         <MemberObjectGroups>
              <ObjectRef type="ObjectGroup" id="#ID#Top" name="Top"/>
         </MemberObjectGroups>
    </Configuration>

  • Io exception: Connection timed out during Active Sync

    I received this connection exception during an Active Sync Process.
    The exception caused the process to halt for 9 minutes - it then picked again and continued processing accounts.
    We are running IdM v5.0 SP6, Tomcat Application Server, and an Oracle 9 Repository.
    Any ideas?

    Hi,
    It seems the query is taking too long and eventually the connection to the database is timing out.
    I also believe that you are on the supported database configurations for WLS 10.0 MP1 :-
    Link:[http://edocs.bea.com/platform/suppconfigs/configs100/100_over/supported_db.html]
    You will also have to look in the weblogic server log for relevant errors like socket exceptions.
    Regards.

Maybe you are looking for

  • Unable to change the item category in existing Scheduling Agreement

    HI, I have a schedule agreement where there are already list of line items but saved without the appropriate item category field in all of the line items. Now I see that the Item category column is greyed out & unable to edit or change thru ME32 T.co

  • Stuttering Motion Effects on NTSC monitor

    I'm doing a couple of DV-NTSC projects where I'm making some graphics with Motion. And while everything else looks good played back on my external monitor (FireWire route thru DSR11), any Motion clips I make with the 3D Camera Swerve effect stutters

  • How can I Force My Nano to Sync Automatically?

    MAC OS X 10.8.2  iTunes 11.0 (64 bit) Most questions I read here ask how to manually sync...my problem is just the opposite. Whenever I connect my iPod to sync, iTunes opens with the boxes checked for "manually manage music and videos" and "enable di

  • Unable to open multiple images in preview from finder

    I open a folder that contains a lot of .jpg photo files and select all and then open from the finder menu. In Leopard all the images are opened in one instance of preview. But after upgrade to Snow Leopard, only one or two of the selected images are

  • I want to transfer a product from 1 adobe ID to another adobe ID

    The wonderful experience with Adobe: step 1: years ago I created a behance account step 2: 1 year ago i created an adobe ID for CS6 step 3: today i logged into behance and thereby created a SECOND adobe ID step 4: i tried to cancel my CS6 adobe ID wi