Block tracing

Hi All
I have a workflow with several blocks. I need to see the output of a particular block in a file. How can i do it?
idmanager

The following code can be used to view the state of an object .i hope this method dumpFile( String) will be useful.
<invoke name='dumpFile'>
<ref>*****</ref>
<s>c:/wf.txt</s>
</invoke>
dumpFile(Object, String) - Static method in class com.waveset.util.XmlObjectFactory
Serialize any XmlObject to a file.

Similar Messages

  • Empty Select display element bug?

    Hi,
    I have added some code to a userform that uses a Select element in the form, i.e. the user is supposed to select from a list of options
    My problem is that the generated html doesn't include the options in the final output.
    saving the form will however set the variable to whatever default I set it to.
    Now, this worked fine on our test system, but not on our acc and prod.
    The allowedValues and valueMap are calculated (i.e. selected from an internal structure) and are set to the right lists and maps before it goes into the final html render phase :P
    If I enable block tracing, I can see that the references are filled with data before the final render...
    Anyone seen this behaviour before?
                  &lt;Field name="primaryPrinter" syntax="string" required="false" library="false" button="false" hidden="false" display="false" container="false" alwaysEvaluate="false" secret="false" nowrap="false" resacctattr="false">
                    &lt;Display class="Select" action="true">
                      &lt;Property name="title" value="Primary Printer" />
                      &lt;Property name="allowedValues">
                        &lt;cond>
                          &lt;isnull>
                            &lt;ref>selectedPrinterReleaseMap&lt;/ref>
                          &lt;/isnull>
                          &lt;append>
                            &lt;ref>availablePrinterReleaseList&lt;/ref>
                            &lt;s>-&lt;/s>
                          &lt;/append>
                          &lt;append>
                            &lt;ref>selectedPrinterReleaseList&lt;/ref>
                            &lt;s>-&lt;/s>
                          &lt;/append>
                        &lt;/cond>
                      &lt;/Property>
                      &lt;Property name="sorted">
                        &lt;Boolean>true&lt;/Boolean>
                      &lt;/Property>
                      &lt;Property name="valueMap">
                        &lt;cond>
                          &lt;notnull>
                            &lt;ref>selectedPrinterReleaseMap&lt;/ref>
                          &lt;/notnull>
                          &lt;ref>selectedPrinterReleaseMap&lt;/ref>
                          &lt;null />
                        &lt;/cond>
                      &lt;/Property>
                    &lt;/Display>
                    &lt;Derivation>
                      &lt;block trace="false">
                        &lt;cond>
                          &lt;or>
                            &lt;isnull>
                              &lt;ref>primaryPrinter&lt;/ref>
                            &lt;/isnull>
                            &lt;not>
                              &lt;contains>
                                &lt;append>
                                  &lt;cond>
                                    &lt;isnull>
                                      &lt;ref>selectedPrinterReleaseMap&lt;/ref>
                                    &lt;/isnull>
                                    &lt;ref>availablePrinterReleaseList&lt;/ref>
                                    &lt;ref>selectedPrinterReleaseList&lt;/ref>
                                  &lt;/cond>
                                  &lt;s>-&lt;/s>
                                &lt;/append>
                                &lt;ref>primaryPrinter&lt;/ref>
                              &lt;/contains>
                            &lt;/not>
                          &lt;/or>
                          &lt;cond>
                            &lt;eq>
                              &lt;length>
                                &lt;ref>selectedPrinterReleaseList&lt;/ref>
                              &lt;/length>
                              &lt;i>1&lt;/i>
                            &lt;/eq>
                            &lt;get>
                              &lt;ref>selectedPrinterReleaseList&lt;/ref>
                              &lt;i>0&lt;/i>
                            &lt;/get>
                            &lt;s>-&lt;/s>
                          &lt;/cond>
                          &lt;ref>primaryPrinter&lt;/ref>
                        &lt;/cond>
                      &lt;/block>
                    &lt;/Derivation>
                    &lt;Disable>
                      &lt;isnull>
                        &lt;ref>availablePrinterReleaseList&lt;/ref>
                      &lt;/isnull>
                    &lt;/Disable>
                  &lt;/Field>And the generated HTML ends up like this, the select with all the options missing...
    &lt;tr>
       &lt;td class="formoddrow" align="right" width="120">&lt;A name="#primaryPrinter">&lt;/A>&lt;label for="primaryPrinter">Primary Printer&lt;/label>
       &lt;/td>
       &lt;td class="formoddrow">
         &lt;table border='0' cellspacing='0' cellpadding='0'>
           &lt;tr>
             &lt;td class="formoddrow" nowrap="nowrap">
               &lt;select name="primaryPrinter" id="primaryPrinter" tabindex="1013" onChange="submitCommandAndYallComeBack('primaryPrinter', this.form, 'Recalculate')">
    On a working systems, options will be loaded here
               &lt;/select>
             &lt;/td>
           &lt;/tr>
         &lt;/table>
       &lt;/td>
    &lt;/tr>

    Hi again,
    So, I found out this much...
    in my "newer" system, same WAS and same IdM deploy, if I have valueMap set to null, it will use that to map with, making it a nulled map :P
    in my "old" test/development server, this worked fine
    in my newer acc and prod it did not :P
    easy to work around ofc, but more xpress code to do it...

  • Block level tracing to a file

    Hi all,
    I would like to output the block level trace in a form to to a file(by default its console)...WHERE DO I SPECIFY THE PATH TO THE FILE? I have checked waveset.properties and SystemConfiguration files but found that we can only specify the trace of an entire workflow..
    "Block trace to a file" is what i want..
    Yash

    From the FAQ on Sharespace
    SUBJECT:
    How to dynamically enable trace for a single workflow.
    QUESTION:
    If you've ever enabled workflow trace in the Waveset.properties file, you know that
    it can generate a lot of output. Is it possible to just enable tracing for a single
    workflow?
    ANSWER:
    There are three ways to turn on workflow trace:
    - Waveset.properties file
    - in the WFProcess definition
    - with a workflow variable
    To enable trace unconditionally for a particular process, you will need to edit the
    XML of the TaskDefinition object.
    Locate the <WFProcess> element and add this attribute:
    trace='console'
    to trace to the console or:
    trace='workflowTrace.txt'
    to trace to a file. You can have more control over when tracing happens by using a workflow variable. The engine will look for a top-level workflow variable named "trace" whose value may be set as shown above.
    For example:
    <Variable name='trace'>
    <cond>
    <eq>
    <ref>accountId</ref>
    <s>adminA</s>
    </eq>
    <s>workflowTrace.txt</s>
    </cond>
    </Variable>
    This turns trace on only if the workflow is operating on a user named "adminA".
    You could also set this in a form field if you want to control trace interactively.

  • Ora-00439 enable block change tracing

    Hi,
    I am attempt to use the feature ENABLE BLOCK CHANGE TRACKING and cannot obtain succefully. When I issue the statement:
    sql> alter database enable block change tracking;
    I get the error:
    ORA-00439 - feature not enable
    My estructure is: Red Rat 4 and Oracle 10.2.0.1
    Samebody can help me?

    I suspect the message means that the feature is only available with the Enterprise Edition. Check the documentation for the standard edition.
    If the feature is available with the standard edition then use the full syntax where you specifiy where you want the block change tracking file written to and see if that makes a difference. I believe the default with 10g is to go to the database flashback directory. If you did not configure one then that could be a problem. If you used the full syntax and do have a flashback area but that was not where you tried to place the file I would try defaulting it.
    I lean to the feature not being available in your version.
    HTH -- Mark D Powell --

  • CoreSync.exe blocks all network traffic while (slowly) syncing my Creative Cloud files

    Hello folks,
    Since the latest Creative Cloud update (I'm using version 1.9.0.465 as of this writing), I've been unable to successfully sync my Creative Cloud Files folder.
    First things first, as other forum users have posted elsewhere, when the update installed itself, my Creative Cloud Files folder was moved from my chosen location to its default location (C:\Users\MyUserName) and I've been unable to put it back where I wanted it.
    However, more pressingly, I noticed that every time I booted my computer, neither my wife nor I were able to access the Internet.  After a couple days' trial and error I realized that Creative Cloud was trying (unsuccessfully) to sync about seven files (totaling about 750MB) to the cloud, and anytime the sync was actively working, my network access was completely blocked.  Even the Creative Cloud desktop app itself couldn't access the Internet to authenticate my apps or Typekit fonts.
    I have managed to get much smaller files (1MB, 5MB, up to 15MB) to sync successfully, however this takes a really long time, and no one on my network can manage to load a web page on their device until the sync is complete.
    Right now I've got syncing paused, and everything on my network is working fine.
    For some additional info, I've attached a screen grab of my Networking tab from Task Manager:
    The big spikes in that graph are me and my wife loading up tons of web content-- YouTube videos, a million tabs of who-knows-what, all acting normally.  Then I hit Resume on CC's sync operation, my activity line clamps way down, and no one can load any Internet content anywhere.  After that, I released my computer's IP address from the command prompt, at which point Creative Cloud Desktop returned a connection failure, and I quit the app.  When I renewed my IP address, I noticed our network access was still blocked, even though Creative Cloud was not running.  I traced the problem back to CoreSync.exe, which had continued running even after I'd quit Creative Cloud.  The moment I ended the CoreSync.exe process, everything was back to normal... until I restarted the Creative Cloud app, which in turn restarted CoreSync.exe.  It was only after pausing CC's sync operation that we were able to use the Internet again.
    So!  To sum up, here are my two issues:
    Syncing is entirely broken, and prevents everyone on my network from using the Internet while CC spins its wheels.
    For some reason, following the same update, I'm unable to change the location of my Creative Cloud Files folder.
    Some things I've tried:
    Uninstalling & reinstalling the Creative Cloud Desktop app-- no change
    Clearing my archived files on creative.adobe.com in case there was some weird argument happening between my live/syncing files and my archived files-- no change
    Manually adding CoreSync.exe to my Windows Firewall whitelist-- no change
    Finally, I can recreate this issue on my second computer, running the same version of Creative Cloud but running off wireless instead of Ethernet.  Same symptoms-- feed it a file to sync, and everyone's Internet access is gone until the sync operation [eventually] finishes.
    I'm completely stumped and very frustrated.  I rely heavily on CC's file syncing feature, and as it's the only cloud storage product I'm actually paying for, I'm not willing to abandon it for another service like DropBox.  I'm willing to try just about anything-- and in the meantime I'm just wishing Creative Cloud Desktop app updates weren't compulsory; the last build I'd installed here was working perfectly fine.
    My basic system specs in case it's helpful:
    Windows 7 Professional x64 SP1
    2x Intel Xeon E5-2670 @ 2.6GHz
    64GB DDR3 RAM
    nVidia Quadro 4000
    Any insights would be incredibly appreciated!  Thanks in advance.

    Heyo Dave,
    Thanks so much for your reply and suggestions.  Here's what I've discovered after some more noodling.
    I'm no networking guy, but I can't seem to find anything about my modem or router that would explain why my upstream traffic is being throttled using CC-- especially since it's all the same hardware I was using last week before I updated CC.
    In addition, I've tried test uploading a couple of files using DropBox, Google Drive, and WeTransfer.com, and neither process interrupts Internet use on my network.
    With all that said, I did go in and pull back my Transfer Speed settings in CC from Maximum to Low, and that made a big difference!  Syncing continued to work, and our other network requests were working just fine.  I managed to get my upload speed set as high as Medium; High and Maximum both kill my network within seconds of being set.
    So I'm not sure what was done to the CC application in this release to supposedly enable us to "Sync Files and Fonts faster" (from the release notes), but whatever it is, it's got my uploads capping at 100Kbps (compared to a minimum 350Kbps using Google Drive) unless no one in my home wants to check their email for the next hour.  That's a significant bummer for me, as my After Effects projects regularly swell to ~50MB toward the end of a project.
    I'd like to submit a big report here, since really the only variable at play in this situation was the Creative Cloud update.  However, unfortunately it looks like the bug report form is down...  I'll have to try again later.
    In the meantime, if there are any other suggestions for experiments I can run on this beast, I'm happy to oblige and report back in case other folks with similar issues can get some relief!
    Thanks again,
    Jared

  • Sites ending with .gov.sg appear to be blocked. How do I gain access?

    I have not been able to access these sites for 2 days. The sites are actually up, I can still access them from my AT&T smartphone. So Verizon appears to be blocking them.
    I regularly need to access these sites, so I would probably need to change provider if this continues. The sites are all governmental sites, so I don't see how they could be a source of security issues. 
    Grateful if anyone has any clue about how to get Verizon to lift their block of these sites. 

    It's hard to say if it is a block or not on the IP addresses used for their sites. To me, it looks like a router somewhere took a dump and has a bad routing table. I can reach some of the gov.sg subdomains, but most of them fail to connect. My web server is able to connect to the *.gov.sg domains without an issue, and traces to them over NLayer in Chicago where I hop onto Seabone in Chicago heading directly to Singapore and hit their server with ~230ms latency (awesome routing...).
    See: Hop 2 is the Verizon edge router. Hop 3 is normally the core router for the backbone in my area. Hop 1 is my router. I'm on DSL. The Final Trace route goes to a working website. Notice, I route successfully through the Verizon network onto NTT, where I eventually route to Japan and from there, Singapore.
    Microsoft Windows [Version 6.0.6002]
    Copyright (c) 2006 Microsoft Corporation.  All rights reserved.
    C:\Users\>tracert www.gov.sg
    Tracing route to www.gov.sg [160.96.187.100]
    over a maximum of 30 hops:
      1    <1 ms    <1 ms    <1 ms  DD-WRT [192.168.3.1]
      2     9 ms     9 ms     8 ms  10.15.3.1
      3     *        *        *     Request timed out.
      4     *        *     ^C
    C:\Users\>tracert www.mfa.gov.sg
    Tracing route to www.mfa.gov.sg [160.96.178.46]
    over a maximum of 30 hops:
      1    <1 ms    <1 ms    <1 ms  DD-WRT [192.168.3.1]
      2     9 ms     8 ms     9 ms  10.15.3.1
      3     *        *        *     Request timed out.
      4  ^C
    C:\Users\>tracert www.mom.gov.sg
    Tracing route to www.mom.gov.sg [203.117.191.66]
    over a maximum of 30 hops:
      1    <1 ms    <1 ms    <1 ms  DD-WRT [192.168.3.1]
      2     9 ms     8 ms     9 ms  10.15.3.1
      3     9 ms     9 ms     8 ms  so-1-1-0-0.BUFF-CORE-RTR2.verizon-gni.net [130.81.13.77]
      4    20 ms    20 ms    19 ms  as4-0.NY5030-BB-RTR1.verizon-gni.net [130.81.20.106]
      5    19 ms    20 ms    52 ms  0.ae5.BR3.NYC4.ALTER.NET [152.63.16.9]
      6    20 ms    20 ms    20 ms  204.255.169.234
      7    21 ms    21 ms    21 ms  ae-2.r22.nycmny01.us.bb.gin.ntt.net [129.250.4.174]
      8   109 ms   108 ms   104 ms  ae-4.r21.sttlwa01.us.bb.gin.ntt.net [129.250.2.51]
      9   233 ms   251 ms   239 ms  as-2.r21.osakjp01.jp.bb.gin.ntt.net [129.250.3.86]
     10   240 ms   291 ms   290 ms  ae-2.r22.osakjp01.jp.bb.gin.ntt.net [129.250.2.69]
     11   249 ms   244 ms   234 ms  ae-5.r24.tokyjp01.jp.bb.gin.ntt.net [129.250.3.221]
     12   211 ms   218 ms   220 ms  ae-5.r22.tokyjp01.jp.bb.gin.ntt.net [129.250.3.154]
     13   308 ms   306 ms   305 ms  p16-7-1-1.r22.tokyjp01.jp.ce.gin.ntt.net [129.250.12.70]
     14   313 ms   295 ms   311 ms  vlan907-an-cat6k-ts1-r1.starhub.net.sg [203.118.3.215]
     15   281 ms   286 ms   310 ms  shiatl5.starhub.net.sg [203.118.7.26]
     16     *        *        *     Request timed out.
     17  ^C
    C:\Users\>
    Web server: (1Gbps Unmetered, was at 300Mbps outbound traffic at time of trace)
    smith@Assimilator [~]# traceroute business.gov.sg
    traceroute to business.gov.sg (160.96.178.133), 30 hops max, 40 byte packets
     1  Assimilator (*.*.*.*)  0.045 ms  0.035 ms  0.025 ms
     2  xe-2-0-4.ar1.ord6.us.nlayer.net (69.31.110.201)  1.788 ms  4.697 ms  1.741 ms
     3  ae5-30g.cr2.ord1.us.nlayer.net (69.31.110.253)  1.349 ms  1.316 ms ae5-30g.cr1.ord1.us.nlayer.net (69.31.110.249)  1.274 ms
     4  ae1.ar2.ord1.us.nlayer.net (69.31.111.146)  4.133 ms  4.663 ms  4.071 ms
     5  as6762.xe-3-0-0.ar2.ord1.us.nlayer.net (69.31.111.78)  1.584 ms  1.573 ms  1.558 ms
     6  ge4-0-0.singapore2.sin.seabone.net (93.186.133.20)  258.670 ms  260.391 ms  258.593 ms
     7  starhub-50.singapore2.sin.seabone.net (93.186.133.50)  244.566 ms  247.079 ms  242.940 ms
     8  vlan907-an-cat6k-ts2-r1.starhub.net.sg (203.118.3.217)  246.552 ms  244.573 ms  244.740 ms
     9  gi8-1-0-an-ats-loc04.starhub.net.sg (203.118.7.11)  221.924 ms  221.782 ms  221.748 ms
    10  203.117.189.82 (203.117.189.82)  238.154 ms  238.370 ms  238.102 ms
    11  160.96.97.244 (160.96.97.244)  223.395 ms  222.729 ms  222.859 ms
    smith@Assimilator [~]# traceroute www.gov.sg
    traceroute to www.gov.sg (160.96.187.100), 30 hops max, 40 byte packets
     1  Assimilator (*.*.*.*)  0.026 ms  0.064 ms  0.019 ms
     2  xe-2-0-4.ar1.ord6.us.nlayer.net (69.31.110.201)  3.766 ms  4.363 ms  4.369 ms
     3  ae5-30g.cr1.ord1.us.nlayer.net (69.31.110.249)  1.377 ms  1.365 ms ae5-30g.cr2.ord1.us.nlayer.net (69.31.110.253)  64.652 ms
     4  ae2-30g.ar2.ord1.us.nlayer.net (69.31.111.150)  3.065 ms  3.083 ms  3.046 ms
     5  as6762.xe-3-0-0.ar2.ord1.us.nlayer.net (69.31.111.78)  1.608 ms  1.604 ms  1.541 ms
     6  ge4-0-0.singapore2.sin.seabone.net (93.186.133.20)  258.498 ms  258.502 ms  258.636 ms
     7  starhub-50.singapore2.sin.seabone.net (93.186.133.50)  221.941 ms  247.428 ms  240.841 ms
     8  vlan907-an-cat6k-ts2-r1.starhub.net.sg (203.118.3.217)  244.947 ms  244.897 ms  244.834 ms
     9  gi8-1-0-an-ats-loc04.starhub.net.sg (203.118.7.11)  238.259 ms  238.255 ms  238.217 ms
    10  203.117.189.82 (203.117.189.82)  241.477 ms  241.900 ms  243.698 ms
    11  160.96.97.244 (160.96.97.244)  242.531 ms  242.312 ms  242.247 ms
    smith@Assimilator [~]#
    If you noticed the name of my server, yeah I'm a gamer. Yes, it's a dedicated server and yes, it runs lots of game servers, hence the name.
    For the time being, I would suggest using either your AT&T Smartphone when you need to visit the site, use a Public Web Proxy if possible, or use a VPN connection to run over another ISP until we find out what the issue is.
    ========
    The first to bring me 1Gbps Fiber for $30/m wins!

  • Billing not Possible- Overall Status Blocked

    Hello All,
    I have  a problem while creation of the Billing document based on Order. Our Scenario is of Service Billing i.e. Contract->Order--> Billing.
    Problem:  While creating Billing -Error Log is created stating  " Document xxxxxxxx blocked for billing'
    When I checked the Sales Order for any blocks, the Header Status shows Overall blkd status as  Blocked.
    The Sales document is also released for Credit., the Customer has no blocks set.
    Can you help me in tracing out the reason.
    Regards,
    Karthik.

    Hello All,
    Thanks for your responses. The Problem is not of Billing Block.  The Issue is Overall Status block.
    We have line item wise Billing block, which is removed first and then the Order release is done by VKM3.
    So even after the Credit release is done the Status shows Overall Status as blocked.
    Regards,
    Karthik.

  • IPhone Stolen , can apple block the phone's serial from itunes?

    hi there , i've just lost my phone about like an hour ago while i was in the gym, i have the warranty card and the phone can be traced as registered under my name ( will be providing to any apple staff my identification card along with the report of the lost phone ) , pls tell me what i should do so that the phone can no longer be used. ( better still if you could some how miraculously trace the phone , im sad i did not get mobileme haih ! )

    No.
    Contact the local police to report it, and contact your carrier to report your iPhone as lost or stolen. Many carriers will block a cell phone's IMEI number that has been reported lost or stolen by the owner which will prevent someone else from activating the iPhone with that carrier.
    If you didn't have the Passcode Lock enabled, you should change the password for each email account you were accessing with the iPhone's Mail app.

  • Blocking sessions during MGP compose

    We keep getting the MGP compose process blocked by inactive sessions
    We raised a SR with Oracle and they suggested adding the instance parameter DO_APPLY_BFR_COMPOSE=YES to webtogo.ora, but this does not seem to have cured the problem.
    From tracing, it seems that the problem is an inactive apply session that resulted in an error, being there for the user it is trying to compose. The actual block is on the table MOBILEADMIN.C$ALL_CLIENT_ITEMS.
    If an apply fails due to an error (eg: constraint violarion, trigger failure etc), it executes the statement
    UPDATE MOBILEADMIN.C$ALL_CLIENT_ITEMS SET CRR='Y' WHERE CLIENTID=? AND PUBLICATION_ITEM IN ( SELECT PUBLICATION FROM MOBILEADMIN.C$ALL_TEMPLATE_ITEMS ati WHERE ati.TEMPLATE=?):
    as part of the copy to the error queue. It also looks to execute the same statement at the beginning of the compose for the user, hence the block.
    The other odd thing is that looking at the blocks this morning, the MGP apply/compose kicked off at 7.09 am. The user synchronised at just after 8 am, by which time the MGP cycle was well into the compose phase, and there is no record of apply activity for the user within the cycle (the actual apply is in the following cycle), the the content of the blocking session was definitely apply code.
    MGP used to do all of the applys first, and then all of the composes, with a test to skip the compose if there was data in the user in queue. The upgrade to 10.2 (or one of the many patches since) looks to have changed the default behaviour to attempt an apply before each user compose, but the parameter above was supposed to set the server back to its old behaviour (ie: keep apply and compose seperate). NOTE i have not seen any of the old 'compose deferred because of unprocessed data in the in queue' messages in the compose recently either.
    Upshot is that it looks like it is still mixing apply and compose together, and where the apply hits an error, the apply thread is not closing correctly, or releasing its locks.
    Does anyone have any information about the parameters
    DO_APPLY_BFR_COMPOSE or
    SKIP_INQ_CHK_BFR_COMPOSE (this appeared with a value of NO when we added the other parameter.
    Information from oracle is that the two are mutualy exclusive (?) but they are not documented anywhere that i can find (the one reference on metalink leads to a non existant note), and oracle seem reluctant to supply any
    so PLEASE
    a) any information about the parameters
    b) any dependancies (ie: parameters not working because we are missing a patch)
    c) location of documentation
    d) any other ideas

    which version are you on?
    we are on 10.2.0.2, so unsure if this works in other versions
    The standard mobile manager parameters screen does not by default show these settings, but we were asked to add them into the webtogo.ora file in the [CONSOLIDATOR] section eg:
    [CONSOLIDATOR]
    # Installer will change these values
    SERVER_VERSION=8.1.7
    SKIP_INQ_CHK_BFR_COMPOSE=YES
    DO_APPLY_BFR_COMPOSE=NO
    RESUME_FILE_SIZE=512
    # 8.1.7
    # Installer won't change these values
    MAX_THREADS=3
    JDBC_DRIVER=oracle.jdbc.driver.OracleDriver
    once this was done we stopped and restarted the mobile server and then the new parameters will appear in the normal data synchronisation>administration>instance parameters screen
    our current setting on the live system are
    SKIP_INQ_CHK_BFR_COMPOSE YES
    DO_APPLY_BFR_COMPOSE NO
    and this does the compose whether or not there is pending data in the in queues for the client. Just my opinion, but there seems little point in doing the check as even if you force two tries of the apply process (one in the main apply phhase before the compose phase, and one just before composing for a particular user), the data in the second apply will not be picked up on fast refresh publication items as the 'snapshot' of the changes has already been done in the process logs phase

  • AQ Callbacks - Blocking background processes and best practices.

    We are running several queues within our company and one of them uses pl/sql callback functionnality.
    Basically, several triggers can enqueue a message when underlying tables are updated. The goal of the callback is to "treat" those messages, which means dequeuing the messages and passing them to some procedure (determined through a confguration table and the type of message). I don't know if i'm clear enough on this but it is as important.
    In general the mechanism works perfectly but we noticed in one of our databases that, after a relatively big amount of messages enqueuing (~ 500-1000 in one trasanction), there are numerous background processes blocked on system table SYS.AQ_SRVNTFN_TABLEI. In fact, the queue starts growing and messages are not dequeued anymore by the callback, that doesn't seem to be executed anymore at all.
    We actually were also unable to re-compile the package that holds the callback procedure nor removing/adding the reference of the subscriber to the queue with DBMS_AQ. It would hang there forever...
    We are running Oracle Database 10g Enterprise Edition Release *10.2.0.4.0* and the value of AQ_TM_PROCESSES = 0.
    I don't necesseraly have a complete and clear view of how the queue mechanism works behind the scenes so forgive for some foolish things I could say :-)
    Diagnosis:
    After some research, it seems the backgrounds processes are blocked on the system table SYS.AQ_SRVNTFN_TABLE on some index for MSGID.
    If I understand correctly how the system works, the callback gets executed for a specific MSGID as we use it in the callback procedure to dequeue this message.
    I've also discovered that the default value for the WAIT dequeue option is FOREVER...
    So my idea was that, for some reason, the callback tries to dequeue a message that does not exist in the queue and... waits forever for the message to "appear".
    This at first seemed pretty unlikely to me: why would the callback be executed if no message with provided MSGID exists... then you start doubting :-)
    Attempt to resolve:
    We've decided to alter the WAIT option to not let the dequeue in the callback wait forever.
    We have made some tests (outside the callback) with NO_WAIT and also with a wait of a few seconds. Both solution prooved right so we added a wait of 60s in the callback and added some tracing.
    Since then, no more background processes seems to hang there and we are able to alter the callback procedure normally. But with the added tracing, we noticed an unexplained behavior with the execution of the callback:
    - callback runs
    - ORA-25263: no message in queue QUEUE_OWNER.MULTISRC_NOTIFQ with message ID B4FFD1115523A46EE040007F0100304F
    - callback runs again and message is dequeued and treated correctly
    The first oracle error happens fast, not after 60s as the WAIT option specifies.
    Questions:
    <li>Is the way the callback method is implemented correct (see code below) ?</li>
    <li>Do we need to commit in the callback method ? What implies committing or not ?</li>
    <li>How wouold you explain the behavior of the callback after setting the dequeue WAIT to 60s and why it does not actually wait for 60s ?</li>
    <>
    <>
    <>
    <>
    The configuration of the queue and the callback is as follow:
    - the type of the payload is SYS.ANYDATA
    - an extra index is create on CORRID column
    begin
       -- create queue table
       begin
          DBMS_AQADM.CREATE_QUEUE_TABLE(QUEUE_TABLE        => 'QUEUE_OWNER.MULTISRC_NOTIFTAB'
                                       ,QUEUE_PAYLOAD_TYPE => 'SYS.ANYDATA'
                                       ,MULTIPLE_CONSUMERS => true);
       end;
       -- create and start queue
       begin DBMS_AQADM.CREATE_QUEUE(QUEUE_NAME => 'QUEUE_OWNER.MULTISRC_NOTIFQ', QUEUE_TABLE => 'QUEUE_OWNER.MULTISRC_NOTIFTAB'); end;
       begin DBMS_AQADM.START_QUEUE(QUEUE_NAME => 'QUEUE_OWNER.MULTISRC_NOTIFQ'); end;
       -- grant access to the queue to PDO
       -- add a subscriber to the queue and register the plsql to execute
       begin
          DBMS_AQADM.ADD_SUBSCRIBER(QUEUE_NAME => 'QUEUE_OWNER.MULTISRC_NOTIFQ'
                                   ,SUBSCRIBER => SYS.AQ$_AGENT('MULTISRC_NOTIFSUBSCR', null, null));
          DBMS_AQ.REGISTER(SYS.AQ$_REG_INFO_LIST(SYS.AQ$_REG_INFO('QUEUE_OWNER.MULTISRC_NOTIFQ:MULTISRC_NOTIFSUBSCR'
                                                                 ,DBMS_AQ.NAMESPACE_AQ
                                                                 ,'plsql://PDO.PO_NOTIFY.MULTISRC_NOTIF_SUBSCRIBER?PR=0'
                                                                 ,HEXTORAW('FF')))
                          ,1);
       end;
    end;
    create index queue_owner.multisrcq_corrid on queue_owner.multisrc_notiftab (CORRID)
    The callback procedure is as follow:
    procedure MULTISRC_NOTIF_SUBSCRIBER(context  raw,
                                          REGINFO  SYS.AQ$_REG_INFO,
                                          DESCR    SYS.AQ$_DESCRIPTOR,
                                          PAYLOAD  raw,
                                          PAYLOADL number) is
        L_METHOD constant varchar2(50) := 'MULTISRC_NOTIF_SUBSCRIBER';
        R_DEQUEUE_OPTIONS    DBMS_AQ.DEQUEUE_OPTIONS_T;
        R_MESSAGE_PROPERTIES DBMS_AQ.MESSAGE_PROPERTIES_T;
        V_MESSAGE_HANDLE     raw(16);
        O_PAYLOAD            ANYDATA;
        cursor C_TREATMENTS(P_ENTITY in varchar2) is
          select T.MNOT_PROCEDURE_C
            from TA_GEN.MULTISRC_NOTIF_TREATMENTS T
           where T.MNOT_ENTITY_C = P_ENTITY
             and T.MNOT_BEGIN_D < sysdate
             and ((T.MNOT_END_D > sysdate and T.MNOT_END_D is not null) or
                 (T.MNOT_END_D is null))
           order by T.MNOT_PRIORITY_N asc;
        WK_CORRID    varchar2(128);
        WK_ENTITY    TA_GEN.MULTISRC_NOTIF_TREATMENTS.MNOT_ENTITY_C%type;
        WK_PROCEDURE TA_GEN.MULTISRC_NOTIF_TREATMENTS.MNOT_PROCEDURE_C%type;
        CT_EXEC number(2) := 0;
      begin
        -- DGH: 15.12.11 / added a wait of 60 seconds for dequeue to avoid infinite waiting (default is FOREVER)
        R_DEQUEUE_OPTIONS.WAIT := 60;
        -- dequeue message
        R_DEQUEUE_OPTIONS.MSGID         := DESCR.MSG_ID;
        R_DEQUEUE_OPTIONS.CONSUMER_NAME := DESCR.CONSUMER_NAME;
        DBMS_AQ.DEQUEUE(QUEUE_NAME         => DESCR.QUEUE_NAME,
                        DEQUEUE_OPTIONS    => R_DEQUEUE_OPTIONS,
                        MESSAGE_PROPERTIES => R_MESSAGE_PROPERTIES,
                        PAYLOAD            => O_PAYLOAD,
                        MSGID              => V_MESSAGE_HANDLE);
        -- extract entity name
        WK_CORRID := R_MESSAGE_PROPERTIES.CORRELATION;
        WK_ENTITY := SUBSTR(WK_CORRID,
                            INSTR(WK_CORRID, '##') + 2,
                            (INSTR(WK_CORRID, '##', 1, 2) -
                            INSTR(WK_CORRID, '##')) - 2);
        -- execute treatment(s)
        open C_TREATMENTS(WK_ENTITY);
        loop
          fetch C_TREATMENTS
            into WK_PROCEDURE;
          exit when C_TREATMENTS%notfound;
          execute immediate 'begin ' || WK_PROCEDURE || '(:MSG); end;'
            using O_PAYLOAD;
          CT_EXEC := CT_EXEC + 1;
        end loop;
        close C_TREATMENTS;
      exception
        when others then
          if C_TREATMENTS%isopen then close C_TREATMENTS; end if;
          PO_NOTIFY.TRACE_MULTISRC_NOTIF(L_METHOD,
                                         sqlerrm,
                                         DESCR.MSG_ID,
                                         R_MESSAGE_PROPERTIES.CORRELATION,
                                         WK_ENTITY,
                                         WK_PROCEDURE);
          rollback;
      end MULTISRC_NOTIF_SUBSCRIBER;

    Helping you with the specific issue is going to be difficult without direct access to the servers but given the importance this system seems to have to your business why are you not running on a fully supported version (10.2 has been in extended support for more than 6 months) and even in the current configuration not patched to 10.2.0.5?
    My instinct would be to focus on moving to 11.2.0.3 as quickly as possible with a corresponding change to a current operating system version if your O/S is similarly out of date.

  • Huge long time direct path read temp, but pga size is enough, one block p3

    Hi Gurus,
    Can you please kindly provide some points on my below questions. thanks
    my env
    select * from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    PL/SQL Release 11.2.0.1.0 - Production
    CORE 11.2.0.1.0 Production
    TNS for Linux: Version 11.2.0.1.0 - Production
    NLSRTL Version 11.2.0.1.0 - Production
    OS: Linux 4 2.6.39-100.5.1.el5uek
    session operation: update a partition which have 4 partitions and total 16G
    session trace info:
    the session keep at active status and waiting for below wait event for more than 70 hours, and os iostats and cpu are almost idle on most time.
    WAIT #8: nam='direct path read temp' ela= 7615 file number=202 first dba=105072 block cnt=1 obj#=104719 tim=1344850223569499
    WAIT #8: nam='direct path read temp' ela= 5989 file number=202 first dba=85264 block cnt=1 obj#=104719 tim=1344850392833257
    WAIT #8: nam='direct path read temp' ela= 319 file number=202 first dba=85248 block cnt=1 obj#=104719 tim=1344850399563184
    WAIT #8: nam='direct path read temp' ela= 358 file number=202 first dba=85232 block cnt=1 obj#=104719 tim=1344850406016899
    WAIT #8: nam='direct path read temp' ela= 349 file number=202 first dba=85216 block cnt=1 obj#=104719 tim=1344850413023792
    WAIT #8: nam='direct path read temp' ela= 7975 file number=202 first dba=85200 block cnt=1 obj#=104719 tim=1344850419495645
    WAIT #8: nam='direct path read temp' ela= 331 file number=202 first dba=85184 block cnt=1 obj#=104719 tim=1344850426233450
    WAIT #8: nam='direct path read temp' ela= 2641 file number=202 first dba=82880 block cnt=1 obj#=104719 tim=1344850432699800
    pgastat:
    NAME VALUE/1024/1024 UNIT
    aggregate PGA target parameter 18432 bytes
    aggregate PGA auto target 16523.1475 bytes
    global memory bound 1024 bytes
    total PGA inuse 75.7246094 bytes
    total PGA allocated 162.411133 bytes
    maximum PGA allocated 514.130859 bytes
    total freeable PGA memory 64.625 bytes
    PGA memory freed back to OS 40425.1875 bytes
    total PGA used for auto workareas 2.75195313 bytes
    maximum PGA used for auto workareas 270.407227 bytes
    total PGA used for manual workareas 0 bytes
    NAME VALUE/1024/1024 UNIT
    maximum PGA used for manual workareas 24.5429688 bytes
    bytes processed 110558.951 bytes
    extra bytes read/written 15021.2559 bytes
    Most operation in PGA via query on V$SQL_WORKAREA_ACTIVE
    IDX maintainenance (sort)
    My questions:
    1. why 'direct path read temp' just read one block every time, my understanding is this event can read one block and multiple blocks at one read call, why it keep read one block in my session?
    2. my pga size is big enough, why this operation can not be treated with in PGA memory, instead of read block from disk into temp tablespace?
    Thanks for you inputs.
    Roy

    951241 wrote:
    since the session(which was from hard code application) is completed.First of all, you showed wait events from sql trace in the first post. Is the tracing was disabled in the latest execution?
    >
    I just generated the AWR for that period, as get long elapsed time SQL as following
    Elapsed Time (s) Executions Elapsed Time per Exec (s) %Total %CPU %IO SQL Id
    3,075.35 0 85.10 91.03 8.68 duhz2wtduz709
    524.11 1 524.11 14.50 99.29 0.30 3cpa9fxny9j35
    so I get execution plan as below for these two SQL,
    select * from table(dbms_xplan.display_awr('&v_sql_id')); duhz2wtduz709
    PLAN_TABLE_OUTPUT
    | Id  | Operation         | Name        | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | UPDATE STATEMENT  |             |       |       |     4 (100)|          |
    |   1 |  UPDATE           | WORK_PAY_LINE |       |       |            |          |
    |   2 |   INDEX RANGE SCAN| WORK_PAY_LINE |     1 |    37 |     3   (0)| 00:00:01 |
    Note
    - automatic DOP: Computed Degree of Parallelism is 1 because of parallel thresholdI am not sure the why elapsed time in AWR is different with time in execution plan. Column "Time" in an execution plan is estimated time. In this execution plan Oracle expects to get 1 row, estimated time is 1 sec.
    So, you need to check why estimated cardinality is such low, check statistics on the table WORK_PAY_LINE.
    You update 10Gb from 16Gb table via Index Range Scan, it looks inefficient here by two reasons:
    1. when a table updated via Index Range Scan optimized index maintenance is used. As a result some amount (significant in your case) of workareas is required. Required size depends on size and number of updated indexes and "global memory bound", 1Gb in your case.
    2. if required table buffers will not be found in the cache it will be read from disk by single block reads. If you would use Full Table Scan then buffers for update most likely will be found in the cache because before it read by multiblock reads during Full Table Scan.
    Figures from your AWR indicate, that only ~ 9% the session waited for I/O and 91% it worked and used CPU
    Elapsed Time (s) Executions Elapsed Time per Exec (s) %Total %CPU %IO SQL Id
    3,075.35 0 85.10 91.03 8.68 duhz2wtduz709 This amount of CPU time partially required for UPDATE 10Gb of data, partially for sorting during optimized index maintenance.
    I would propose to use Table Full Scan here.
    Also you can play around and create fake trigger on update, it will make impossible to use optimized index maintenance, usual index maintenance will be used. As a result you can check the same update with the same execution plan (with Index Range Scan) but without optimized index maintenance and "direct path .. temp" wait events.
    Alexander Anokhin
    http://alexanderanokhin.wordpress.com/

  • Get blocker from the (self) deadlock trace file

    Hi,
    Recently I had an issue on a 10.2.0.4 single instance database where deadlocks were occurring. The following test case reproduces the problem (I create three parent tables, one child table with indexed foreign keys to all three parent tables and a procedure which performs an insert into the child table in an autonomous transaction):
    create table parent_1(id number primary key);
    create table parent_2(id number primary key);
    create table parent_3(id number primary key);
    create table child( id_c number primary key,
                       id_p1 number,
                       id_p2 number,
                       id_p3 number,
                       constraint fk_id_p1 foreign key (id_p1) references parent_1(id),
                       constraint fk_id_p2 foreign key (id_p2) references parent_2(id),
                       constraint fk_id_p3 foreign key (id_p3) references parent_3(id)
    create index i_id_p1 on child(id_p1);
    create index i_id_p2 on child(id_p2);
    create index i_id_p3 on child(id_p3);
    create or replace procedure insert_into_child as
    pragma autonomous_transaction;
    begin
      insert into child(id_c, id_p1, id_p2, id_p3) values(1,1,1,1);
      commit;
    end;
    insert into parent_1 values(1);
    insert into parent_2 values(1);
    commit;And now the action that causes the deadlock:
    SQL> insert into parent_3 values(1);
    1 row created.
    SQL> exec insert_into_child;
    BEGIN insert_into_child; END;
    ERROR at line 1:
    ORA-00060: deadlock detected while waiting for resource
    ORA-06512: at "SCOTT.INSERT_INTO_CHILD", line 4
    ORA-06512: at line 1My question is: how can I determine which table the insert into CHILD was waiting on? It could be waiting on PARENT_1, PARENT_2, PARENT_3, a combination of them or even on CHILD if I tried to insert a duplicate primary key in CHILD. Since we have the full testcase we know that it was waiting on PARENT_3 (or better said, it was waiting for the "parent" transaction to perform a commit/rollback), but is it possible to determine that solely from the deadlock trace file? I'm asking that because to pinpoint the problem I had to perform redo log mining, pl/sql tracing with DBMS_TRACE and manual debugging on a clone of the production database which was restored to a SCN just before the deadlock occurred. So, I had to do quite a lot of work to get to the blocker table and if this information is already in the deadlock trace file, it would have saved me a lot of time.
    Below is the deadlock trace file. From the "DML LOCK" part I guess that the child table (tab=227042) holds a mode 3 lock (SX), all the other three parent tables have mode 2 locks (SS), but from this extract I can't see that parent_3 (tab=227040) is blocking the insert into child:
    Deadlock graph:
                           ---------Blocker(s)--------  ---------Waiter(s)---------
    Resource Name          process session holds waits  process session holds waits
    TX-00070029-00749150        23     476     X             23     476           S
    session 476: DID 0001-0017-00000003     session 476: DID 0001-0017-00000003
    Rows waited on:
    Session 476: obj - rowid = 000376E2 - AAA3biAAEAAA4BwAAA
      (dictionary objn - 227042, file - 4, block - 229488, slot - 0)
    Information on the OTHER waiting sessions:
    End of information on OTHER waiting sessions.
    Current SQL statement for this session:
    INSERT INTO CHILD(ID_C, ID_P1, ID_P2, ID_P3) VALUES(1,1,1,1)
    ----- PL/SQL Call Stack -----
      object      line  object
      handle    number  name
    3989eef50         4  procedure SCOTT.INSERT_INTO_CHILD
    391f3d870         1  anonymous block
            SO: 397691978, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
            DML LOCK: tab=227042 flg=11 chi=0
                      his[0]: mod=3 spn=35288
            (enqueue) TM-000376E2-00000000  DID: 0001-0017-00000003
            lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x6
            res: 0x398341fe8, mode: SX, lock_flag: 0x0
            own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x398341ff8
            SO: 397691878, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
            DML LOCK: tab=227040 flg=11 chi=0
                      his[0]: mod=2 spn=35288
            (enqueue) TM-000376E0-00000000  DID: 0001-0017-00000003
            lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x6
            res: 0x3983386e8, mode: SS, lock_flag: 0x0
            own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x3983386f8
            SO: 397691778, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
            DML LOCK: tab=227038 flg=11 chi=0
                      his[0]: mod=2 spn=35288
            (enqueue) TM-000376DE-00000000  DID: 0001-0017-00000003
            lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x6
            res: 0x398340f58, mode: SS, lock_flag: 0x0
            own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x398340f68
            SO: 397691678, type: 36, owner: 39686af98, flag: INIT/-/-/0x00
            DML LOCK: tab=227036 flg=11 chi=0
                      his[0]: mod=2 spn=35288
            (enqueue) TM-000376DC-00000000  DID: 0001-0017-00000003
            lv: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  res_flag: 0x6
            res: 0x39833f358, mode: SS, lock_flag: 0x0
            own: 0x3980df420, sess: 0x3980df420, proc: 0x39859c660, prv: 0x39833f368
          ----------------------------------------Thank you in advance for any comments,
    Jure

    Hi Jonathan,
    thank you very much for your reply which more than answers my question. I think it actually clears a lot of doubts I had about TX locks, since your mentioning of "undo segment header transaction table" pointed me in the right direction for further research on this topic (honestly, I didn't know what's "behind" TX locks). So if I understood correctly, to determine which table is the blocker (in the testcase presented above), you have to have some kind of history of executed SQL statements (e.g. by mining redo logs)?
    The statement you wrote:
    At this point, and with your example, the waiting session is waiting on a TX (transaction) lock - this means it has not idea (and no interest) in the actual data involved, it is merely waiting for an undo segment header transaction table slot to clear. and the example with the savepoint you gave, made me think of some of the consequences of that behaviour. That is probably the reason why it is not possible to get the "blocker" table from v$lock (although sometimes it's possible to get it from v$session.row_wait_obj#) when a session tries to change a row another session holds in exclusive mode, e.g.:
    create table t1 (id number);
    insert into t1 values (1);
    commit;
    Session 126:
    SID = 126> update t1 set id=2 where id=1;
    1 row updated.
    Session 146:
    SID = 146> update t1 set id=2 where id=1;
    {session hangs}
    In a separate session:
    SQL> SELECT   CASE
      2                  WHEN TYPE = 'TM'
      3                     THEN (SELECT object_name
      4                             FROM user_objects
      5                            WHERE object_id = l.id1)
      6               END object_name,
      7                  SID, TYPE, id1, id2, lmode, request, BLOCK
      8          FROM v$lock l
      9         WHERE SID IN (126, 146)
    10     ORDER BY SID, TYPE, 1
    11  /
    OBJECT_NAME    SID TY        ID1        ID2      LMODE    REQUEST      BLOCK
    T1             126 TM      68447          0          3          0          0
                   126 TX     262153       4669          6          0          1
    T1             146 TM      68447          0          3          0          0
                   146 TX     262153       4669          0          6          0The only thing I can tell from this output is that session 146 is trying to get a TX lock in exclusive mode, and session 126 is blocking it, the reason of the blocking being unknown from this view alone.
    Since I'd like to get a better understanding on the mechanics behind this (e.g. why the blocked session can't know the segment that is waiting for, since it has to go to the same segment's data block to find the address of the undo segment header transaction table slot? ; can we get the content/structure of the transaction table in the data block - probably by making a block dump?), do you have any source where a more in depth explanation what happens "behind the scenes" is available (perhaps in Oracle Core?)? Some time ago I found a link on your blog http://jonathanlewis.wordpress.com/2010/06/21/locks/ which points to Franck Pachot's article where he nicely explains the various locking modes: http://knol.google.com/k/oracle-table-lock-modes#. There I also found Kyle Hailey's presentation about locks http://www.perfvision.com/papers/09_enqueues.ppt where slide 23 nicely depicts what's going on when acquiring TX locks. Of course I'll try to search on my own, but any other source (especially from an authority like you) is more than welcome.
    Thank you again and regards,
    Jure

  • Group Policy Preference Power Plan "Blocked By Group Policy"

    I noticed this error in the application event log of a Windows 7 PC:
    Log Name:      Application
    Source:        Group Policy Power Options
    Date:          3/21/2013 3:19:42 AM
    Event ID:      4098
    Task Category: (2)
    Level:         Warning
    Keywords:      Classic
    User:          SYSTEM
    Computer:      xxx
    Description:
    The computer 'Power Plan (Windows Vista and later)' preference item in the 'Windows 7 Desktop Power Plan {A078F08F-45CC-4209-A264-FE0CB5635A99}' Group Policy object did not apply because it failed with error code '0x800704ec This program is blocked by group
    policy. For more information, contact your system administrator.' This error was suppressed.
    Event Xml:
    <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
      <System>
        <Provider Name="Group Policy Power Options" />
        <EventID Qualifiers="34305">4098</EventID>
        <Level>3</Level>
        <Task>2</Task>
        <Keywords>0x80000000000000</Keywords>
        <TimeCreated SystemTime="2013-03-21T10:19:42.000000000Z" />
        <EventRecordID>7687</EventRecordID>
        <Channel>Application</Channel>
        <Computer>xx</Computer>
        <Security UserID="S-1-5-18" />
      </System>
      <EventData>
        <Data>computer</Data>
        <Data>Power Plan (Windows Vista and later)</Data>
        <Data>Windows 7 Desktop Power Plan {A078F08F-45CC-4209-A264-FE0CB5635A99}</Data>
        <Data>0x800704ec This program is blocked by group policy. For more information, contact your system administrator.</Data>
      </EventData>
    </Event>
    How can I find out exactly why it is not working?  "Blocked by group policy" is not specific enough.

    Hi,
    You can also enable GPP tracing and logging for more information:
    Computer Configuration\Policies\Administrative Templates\System\Group Policy\Configure Power Options preference logging and tracing
    http://blogs.technet.com/b/askds/archive/2008/07/18/enabling-group-policy-preferences-debug-logging-using-the-rsat.aspx
    Regards,
    Cicely
    There is no such option "Configure Power Options preference logging and tracing" at Computer
    Configuration\Policies\Administrative Templates\System\Group Policy\.
    It alphabetical order Always use local ADM files ... is followed by Disallow interactive users from generating ...  Not

  • Ansync Web Service is Blocking

    Hello,
    I have build an asynchronous web service and have implemented a polling
    interface for my Java client to access it. Here is the call sequence:
    1. Client calls "start" method which is buffered and also starts a
    conversation.
    2. Client calls "isReady" which returns true|false depending on the status
    of the service completion
    3. Client calls "getInfo" which returns the result of the service
    If the "start" method processing takes over 30 seconds the following
    exception is genreated when calling "isReady":
    ####<Sep 15, 2003 9:57:51 AM PDT> <Error> <WLW> <OKCOMPUTER> <ssa_admin>
    <ExecuteThread: '13' for queue: 'weblogic.kernel.Default'> <<anonymous>>
    <BEA1-001F36642240> <000000>
    <Failure=javax.ejb.TransactionRolledbackLocalException: [EJB:010107]The lock
    request from EJB:PersistentContainer with primary
    key:192.168.1.101-1556d12.f7a62f4472.-8000 timed-out after waiting 30,000
    ms. The transaction or thread requesting the lock was:Name=[EJB
    com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
    core.request.Request)],Xid=BEA1-001F36642240(27960095),Status=Active,numRepl
    iesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=30,seconds
    left=270,activeThread=Thread[ExecuteThread: '13' for queue:
    'weblogic.kernel.Default',5,Thread Group for Queue:
    'weblogic.kernel.Default'],SCInfo[domain_ssa+ssa_admin]=(state=active),prope
    rties=({weblogic.transaction.name=[EJB
    com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
    core.request.Request)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorD
    escriptor=(CoordinatorURL=ssa_admin+192.168.1.101:7001+domain_ssa+t3+,
    XAResources={JMS_FileStore, weblogic.jdbc.wrapper.JTSXAResourceImpl,
    JMS_cgJMSStore},NonXAResources={})]).; nested exception is:
    weblogic.ejb20.locks.LockTimedOutException: [EJB:010107]The lock request
    from EJB:PersistentContainer with primary
    key:192.168.1.101-1556d12.f7a62f4472.-8000 timed-out after waiting 30,000
    ms. The transaction or thread requesting the lock was:Name=[EJB
    com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
    core.request.Request)],Xid=BEA1-001F36642240(27960095),Status=Active,numRepl
    iesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=30,seconds
    left=270,activeThread=Thread[ExecuteThread: '13' for queue:
    'weblogic.kernel.Default',5,Thread Group for Queue:
    'weblogic.kernel.Default'],SCInfo[domain_ssa+ssa_admin]=(state=active),prope
    rties=({weblogic.transaction.name=[EJB
    com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
    core.request.Request)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorD
    escriptor=(CoordinatorURL=ssa_admin+192.168.1.101:7001+domain_ssa+t3+,
    XAResources={JMS_FileStore, weblogic.jdbc.wrapper.JTSXAResourceImpl,
    JMS_cgJMSStore},NonXAResources={})]). [ServiceException]>
    There are several things to note in this error message:
    1. The the timeout occurred after 30,000 ms
    2. The "seconds since begin" is equal to 30
    3. The "seconds left" is equal to 270
    If seems that if the "seconds since begin" is less than "seconds left" then
    the exception should not occurr until the condition is false.
    Also, the client call to "isReady" seems to be blocking based on the
    exception and some debug/tracing I did. The server log confirms that the
    when the client class "isReady" and the "start" method is still executing it
    will wait until "start" is completed before letting the "isReady" call
    continue.
    A couple of questions:
    1. Is this how an async Web service is supposed to behave when using
    polling?
    2. Where are the time out values specified that are displayed in the
    stacktrace above?
    -Joe

    Hi,
    Could you please try this>?
    In the wlw-config.xml Configuration File please change
    <ejb-concurrency-strategy> to Database.
    Also please try this
    How to set txn timeout in JWS files?
    You should also be able to set this via a -D on the command line or through
    the jws-config.properties. The property you want to set is
    "weblogic.jws.TransactionTimeout". Give it some integer value corresponding
    to the number of seconds you want the txn timeout value to be:
    -Dweblogic.jws.TransactionTimeout=72000
    would timeout transactions after 20 hours
    Now, since this value gets cooked into deployment descriptors, you need to
    have this property set when you deploy (in debug) or when you build your
    production ear.
    Vimala
    "Joe Chavez" <[email protected]> wrote in message
    news:[email protected]...
    Hello,
    I have build an asynchronous web service and have implemented a polling
    interface for my Java client to access it. Here is the call sequence:
    1. Client calls "start" method which is buffered and also starts a
    conversation.
    2. Client calls "isReady" which returns true|false depending on the status
    of the service completion
    3. Client calls "getInfo" which returns the result of the service
    If the "start" method processing takes over 30 seconds the following
    exception is genreated when calling "isReady":
    ####<Sep 15, 2003 9:57:51 AM PDT> <Error> <WLW> <OKCOMPUTER> <ssa_admin>
    <ExecuteThread: '13' for queue: 'weblogic.kernel.Default'> <<anonymous>>
    <BEA1-001F36642240> <000000>
    <Failure=javax.ejb.TransactionRolledbackLocalException: [EJB:010107]Thelock
    request from EJB:PersistentContainer with primary
    key:192.168.1.101-1556d12.f7a62f4472.-8000 timed-out after waiting 30,000
    ms. The transaction or thread requesting the lock was:Name=[EJB
    com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
    >
    core.request.Request)],Xid=BEA1-001F36642240(27960095),Status=Active,numRepl
    iesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=30,seconds
    left=270,activeThread=Thread[ExecuteThread: '13' for queue:
    'weblogic.kernel.Default',5,Thread Group for Queue:
    'weblogic.kernel.Default',SCInfo[domain_ssa+ssa_admin]=(state=active),prope
    rties=({weblogic.transaction.name=[EJB
    com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
    >
    core.request.Request)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorD
    escriptor=(CoordinatorURL=ssa_admin+192.168.1.101:7001+domain_ssa+t3+,
    XAResources={JMS_FileStore, weblogic.jdbc.wrapper.JTSXAResourceImpl,
    JMS_cgJMSStore},NonXAResources={})]).; nested exception is:
    weblogic.ejb20.locks.LockTimedOutException: [EJB:010107]The lock request
    from EJB:PersistentContainer with primary
    key:192.168.1.101-1556d12.f7a62f4472.-8000 timed-out after waiting 30,000
    ms. The transaction or thread requesting the lock was:Name=[EJB
    com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
    >
    core.request.Request)],Xid=BEA1-001F36642240(27960095),Status=Active,numRepl
    iesOwedMe=0,numRepliesOwedOthers=0,seconds since begin=30,seconds
    left=270,activeThread=Thread[ExecuteThread: '13' for queue:
    'weblogic.kernel.Default',5,Thread Group for Queue:
    'weblogic.kernel.Default',SCInfo[domain_ssa+ssa_admin]=(state=active),prope
    rties=({weblogic.transaction.name=[EJB
    com.bea.wlw.runtime.core.bean.SyncDispatcherBean.invoke(com.bea.wlw.runtime.
    >
    core.request.Request)]}),OwnerTransactionManager=ServerTM[ServerCoordinatorD
    escriptor=(CoordinatorURL=ssa_admin+192.168.1.101:7001+domain_ssa+t3+,
    XAResources={JMS_FileStore, weblogic.jdbc.wrapper.JTSXAResourceImpl,
    JMS_cgJMSStore},NonXAResources={})]). [ServiceException]>
    There are several things to note in this error message:
    1. The the timeout occurred after 30,000 ms
    2. The "seconds since begin" is equal to 30
    3. The "seconds left" is equal to 270
    If seems that if the "seconds since begin" is less than "seconds left"then
    the exception should not occurr until the condition is false.
    Also, the client call to "isReady" seems to be blocking based on the
    exception and some debug/tracing I did. The server log confirms that the
    when the client class "isReady" and the "start" method is still executingit
    will wait until "start" is completed before letting the "isReady" call
    continue.
    A couple of questions:
    1. Is this how an async Web service is supposed to behave when using
    polling?
    2. Where are the time out values specified that are displayed in the
    stacktrace above?
    -Joe

  • Issue with blocked TPM2 command (TPM 2.0)

    I am developing an application that users TPM 2.0 and have implemented a command layer on top of TPM Base Services. Most of the commands I use work fine however when attempting to do TPM2_ContextSave is is blocked by TBS (TPM Base Services). The documentation
    regarding blocked TPM commands seem not to cover TPM 2.0 and the measures described to unblock commands is not working for me. The documentation is found here:
    http://technet.microsoft.com/en-us/library/dn466537.aspx
    I have tried the described methods, i.e. gpedit as well as tpm.msc . With gpedit the blocking behaviour remains no matter what policy I attempt. With tpm.msc the UI for managing blocked commands, as described in the above article, is not even displayed. Note
    that when testing the tpm.msc UI on Windows 7 the options are displayed exactly according to the documentation.  
    I am using a Surface 3 Pro tablet with Windows 8.1 Professional installed. Tracing TBS according to the instructions given here:
    http://msdn.microsoft.com/en-us/library/windows/hardware/hh998628.aspx
    Gives:
    [0]0FE0.0FE4::01/19/2015-13:44:17.407 [drv] INFORMATION Sched20.cpp(393)
    ?SubmitRequest@Tpm20Scheduler@@QEAAJPEAVTpm20Request@@@Z:Blocking cmd (0x162) on context FFFFE00088AAB990 as not on allow-list for non-std user.
    I.e. the command is blocked.
    In addition to the methods described above I have tried the WMI Win32_Tpm interface and specifically the "RemoveBlockedCommand()" and "IsCommandBlocked()" calls. Where "IsCommandBlocked()" returns 0 i.e. the command is not blocked?
    And "RemoveBlockedCommand()" returns 0, i.e. successful removal of the blocking command. However the command is still blocked and logged as blocked as seen in the above log.
    Link to Win32_Tpm WMI class:
    http://msdn.microsoft.com/en-us/library/aa376452(v=vs.85).aspx
    It seems as if the API:s and documentation is not up-to-date for TPM 2.0 or I am doing something else incorrect.
    Where can I find a way to unblock TPM2_ContextSave in TBS (TPM Base Services) for Windows 8.1 and TPM 2.0 hardware?

    Hello gzon,
    For this issue, I am trying to invoke someone experienced to help look into this thread, this may take some time and as soon as we get any result, we will post back.
    Regards.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

Maybe you are looking for