Triggers and putAll()

Hello,
Would like to know how putAll works with a MapTrigger. Specifically, if the MapTrigger throw a RuntimeException on one of the attempted changes with a putAll, what happens with the rest of operations in the putAll?
Thanks,
Nick

Hi Nick,
Let's say that a client C issues a putAll that has four items: two that are owned by the cache server S1 and two that are owned by S2. If a trigger T on S1 decides to reject the very first item by throwing an exception, but T on S2 allows both to be processed, than only the two items are stored into the cache and the exception from T-S1 will be re-thrown to the caller.
If T on S1 only throws an exception while processing second item (after the first is allowed), then the three items are stored into the cache and the exception will still be re-thrown to the caller.
Regards,
Gene

Similar Messages

  • Function and triggers and procedures

    sorry to asking this question,
    In oracle. we use the function and triggers and procedure.
    for eg:
    if we wrote an trigger for a table. it fires at a time manipulating table. (database contains table contains datas and database also contains triggers likewise function,procedure).
    but my questions?: is
    In my database I kept only tables. no triggers,no function,no procedures. and
    i dont want to kept this triggers, function, procedures in database  Instead of i want to kept this triggers, function, procedures in business logic layers(middle tier)
    is it possible? .
    if yes means, how to write or where to write? please help me, or else send the guidance documents or blog releated to it.

    Subu123,
    the +1 related to Would be great if you can take step back and see the implementation from another angle. First see why do you need DB trigger/function etc.Then check whether it is possible to implement the functionality using ADF BC + feasibility study between 2 approaches(I didn't mean to invoke DB objects from business components, instead checking the feasibility of implement the same functionality in your EntityObj/ViewObj/Service calls )Before making a decision for or against holding fuctions, triggers and procedures in the DB, you have to get the whole picture.
    Think about a trigger outside the DB. What could this be and why or for what is it used?
    All the answers are pointing to 'lets keep them in the DB'. Now there are situation where you don't have a DB or are not allows to use it. Still there can be triggers, only they are implemented in a different way.
    The same can be said for procedures and functions.
    So you have to think about the whole problem and how each sub problem you have to solve work together to resolve the whole problem.
    I'm personally tend to keep the business logic the the DB if the business logic is already there (e.g. I have to migrate an old forms app).
    If I design a new app I tend to keep the logic in java. Only sequences (for generating ids) and some other stuff which is purely db related like cleaning up tables I keep in the DB.
    Timo

  • Problem using TAPI triggers and merge statement

    Hi,
    I use Designer tapi triggers on a table. When I try to execute a merge statement, I get the following error:
    ORA-06502: PL/SQL: numeric or value error: NULL index table key value.
    Is there a restriction when using TAPI triggers and merge statements that anyone is aware of?

    No restrictions on MERGE commands that I know of. I have, however, seen the TAPI give inexplicable ORA-06502 errors. It would help to know what line in which procedure or trigger gave the error. That information should have been in the error stack.

  • How to use analog Triggering and External clock scan

    Hi, there. I want to measure the engine cylinder pressure with an PXI6070-E card and BEI encoder. I have tried using Cont Acq&Graph ExtScanClk D-Trig.vi and Cont Acq&Graph ExtScanClk Soft A-Trig.vi , but they don't work. What I did was to connect a 50HZ pulse to PFI0 (analog triggering, I changed the code from digital triggering to analog triggering), and a 100K pulse to PFI7 (startscan), and an 50 HZ analog signal to ACH0. But the code always says: timeout. If I use internal clock, it works fine. Could you please give me some help? THANKS A LOT!

    Hey Wyuan,
    I tested the Cont Acq&Graph ExtScanClk Soft A-Trig.vi and it worked fine. However, the Cont Acq&Graph ExtScanClk D-Trig.vi has a small error in its logic that will prevent the data from ever being displayed to the graph. In order to run the examples you need to connect a trigger to pin 11 and a scan clock to pin 38. A 10kHz square wave would be fine for the clock signal and just a single pulse would work for the digital trigger.
    One additional think to keep in mind is the grounding. You might need to connect you ground from your signals to a DGND pin. I am including the two programs that I used for the test.
    I hope this helps,
    Joshua
    Attachments:
    Cont_Acq&Graph_ExtScanClk_D-Trig.vi ‏121 KB
    Cont_Acq&Graph_ExtScanClk_Soft_A-Trig.vi ‏153 KB

  • Sql query to  know the number of triggers and cursors present in a schema?

    friends,is there any way to know the number of triggers and cursors preseent in a schema.
    thanks in advance..

    what do you mean by triggers in a schema? is it the triggers owned by that schema? or the triggers applied on tables owned by that schema? remember you may own triggers applied on the tables belong to other schemas. Anyways, all this information can be extracted from oracle dictionary using a combination of all_triggers and all_tables.
    As far as cursors, please elaborate. Do you mean cursors declared in PL/SQL blocks?

  • Triggering and reading on two HP/Agilent 34401A DMMs at same time

    Hi folks,
    I'm VERY new to LabVIEW and need some help with a measurement.  I'm using LV 8.2 with all equipment on GPIB.  I have two 34401A multimeters, triggered externally using an HP 33120A function generator.   I've downloaded the example vi's and drivers and everything works fine.  My problem is with the speed of the triggering and the synchronization between the two multimeters on the same trigger.  I've read the manual and for this multimeter, it claims it can be triggered and read over GPIB at 1kHz (display off, auto range off, delay= 0, 4.5 digits).  I'm finding it is nowhere near this speed.  The fastest I have successfully triggered and recorded the data was at 100 Hz, anything higher and it no longer stays in sync with the trigger (i.e. for 200 measurements at 100 Hz, I'm getting all 200 measurements, but over 3-5 seconds).  The trigger speed is the first problem.  The second problem is getting the two meters to take a reading at the same time.  One meter always lags the other (or vice versa) by 1 to 3 readings.  My goal is to continuously (for about 60 seconds) read both multimeters as fast as possible and at the same time (250-500 Hz would be fantastic) and write it to a file.  Can anyone give me some advice on this?  Is a software trigger the way to go?  Is there some limitation with GPIB that it cannot read/write to two devices this fast? 
    Thanks!
    P.S. I've been experimenting mostly with the example code provided by NI and a .vi posted in this forum thread (http://sine.ni.com/niforum/niforumforumDU=http://forums.ni.com/ni/board/messageboard.id=170&message....) hp34401a_-_testing.vi from Kunal.  If anyone could share some other example vi's it would be very helpful!

    Hi plasma420,
    I should have read your post more carefully - was thinking it was a 1 sec acquisition, not 1 minute!
    Getting your LabVIEW app to reliably respond to a measurement (detect/read) every 2 to 4 ms is going to be tough - especially if in a multi-tasking OS environment.  On a 2GHz box running a normal Windows XP or 2K install,  I suspect you could see an occasional "hiccup" even at 100Hz.  A bit of searching the forum turned up this old-but-still-valuable (even entertaining) post related to improving determinism of DAQ applications on a PC.
    Observation: The listed max measurement-rate of the 34401 (1000Hz) may assume the GPIB-bus is dedicated to one instrument - the requirement to read from two instruments sequentially, may necessarily increase time spent servicing each trigger - decreasing maximum theoretical throughput.
    The first rule for "high-speed" multi-sample DAQ - especially under Windows - is to make it a hardware task instead of a software loop;  the 34401 doesn't seem well suited here.  I hate to suggest this, but... have you considered purchasing one of NIs multi-channel DAQ devices?  With a $360 PCI 6010 + cable and break-out box, you could have one of the LabVIEW DAQ examples running in ~ 30 min.  The 6010 was the cheapest 16-bit board I could find, ask your sales-rep for other alternatives if you go this route...
    Cheers!
    "Inside every large program is a small program struggling to get out." (attributed to Tony Hoare)

  • Trigger, triggers and more triggers

    I've been given theenviable task of reviewing the triggers on a legacy application, as an example a typical table will have between 1 and 10 before insert triggers and I've been asked to validate the logic in the triggers.
    Does anyone know if there are any tools available to help with this, so far having looked at the first table (I was asked to loko at this specifically because someone wants to add yet another trigger) I'm starting to lose the will to live, 4 of the triggers currently in place alter similar fields makeing the results indeterminate. I have a nasty feeling the only way to be certain is to cross check every trigger and compile some kind of cross reference I'd really like some kind of toolset to make this easier.
    So far my analysis is the logic is horribly broken and really the whole shambles should be ripped out an re-wrtten properly this time, preferably fixing the problems in the front end rather than trying to bandage the data using triggers..

    You may have to look into dba_triggers and dba_dependenices too see how may triggers and if all depned on same object,
    This is why Tom kyte recommands using inline code instead of triggers.
    Good luck,

  • Time bound policy :: CPSC Server down :: Re-triggering and Notification

    I have some Service Requests which are triggered by Time bound policy that execute, say for eg; Power Up some servers. But during a scenario of CPSC server being down during the time of Time bound Service request triggering, none of the requests are triggered  and also after the CPSC server is up again after few minutes past the triggering time. Is there a way to get notified if a Time bound policy is not triggered, like receiving an email? 
    Please let me know if there is any possible way to get notified during failure of time bound policy request triggering.
    Thanks,
    Anish

    Hi,
    According to event log, Winlogon process takes a long time to handle logoff event. That's to say winlogon process is waiting for response to logoff.  
    According to your description after, this problem is most probably caused by Avecto. You can try to disable or uninstall it temporarily for test.
    To make further troubleshoot with this problem, you can try to use WPT (Windows Performance Tool) to make troubleshoot.
    http://blogs.technet.com/b/askpfeplat/archive/2013/03/22/troubleshooting-windows-performance-issues-using-the-windows-performance-recorder.aspx
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact [email protected]

  • Fork : triggering and terminating event ?

    Hi Experts,
    I am a begginer in  Workflow ..
    I just want to know how Fork can be used for paralled processing with triggering and  terminating event.
    It would be appreciated if provided with some scenarion in detailed steps.
    Thanks in advance.
    Ganesh..

    Mike,
    It would be HELPFUL for me if i get my problem solved as earlier so i can concentrate on other my commited topics..thats why expecting info., from the experts.
    Anyway , you  triggered me to read SAP help..thanks for the indirect motivation..
    Let me start reading the SAP help information!!!
    Thanks .
    Ganesh

  • Triggering and simultaneous measurements

    Hi everybody 
    I've written a Vi to to acquire data simultaneously from 7 devices. I'll be using cDAQ9178 with NI9203. The vi will acquire current values 4 to 20mA. Could you please check the attached file and let me know if I need to improve it.
    I have some question and I should be grateful if anyone can help me to answer them.
    1. How to open the binary file from write to measurement file by EXCEL?
    2. Is it better to use write to spreadsheet for data logging, if yes how to include the time column??
    3. I'm going to use external signal for triggering through PIF0 port, is it Ok to do that through dag assistance?? I've not tried yet but it seems straightforward?
    4. Finally I have another vi for valve control that should be triggered with the measurement vi, is their any way to do that?? I was thinking about notifiers but I don't know how to use them ?
    Sorry for asking to much  I really in urgent need of all of this. I should finish my data acquisition system by Tuesday 
    Best Regards 
    Solved!
    Go to Solution.
    Attachments:
    triggering and simultaneous measurements.vi ‏97 KB

    1. How to open the binary file from write to measurement file by EXCEL?
    If you select TDMS as the file format in the write to measurement file, you should be able to open it directly from Excel if you install the TDMS Excel Add-In. Be aware that at 1kHz data rate, you will exceed the capability of old versions of Excel to read the entire file in about 65 seconds. Newer versions can read more, but anything over a couple thousand points gets difficult to analyze. That is about my limit. Over this, I go to something else for analysis, such as LabVIEW or Mathematica.
    2. Is it better to use write to spreadsheet for data logging, if yes how to include the time column??
    The write to spreadsheet file is very inefficient for data logging and cannot be recommended. Given your data (an array of waveforms), TDMS is your best bet. The write to measurement file Express VI is the easy way to do this. I, personally, prefer the control I get from using the TDMS API directly. Note that under the hood, the output of the DAQ Assistant is an array of waveforms with individual t0s and dts. The t0s are all different due to the fact that your 9203 is a scanned device, not a simultaneously sampled device. It scans at 200kHz, so the differences are not large, but they are there. I would convert the DDT into an array of waveforms, then use the native TDMS API, but I have a lot of experience. Since you are in a hurry, the Express VI using TDMS is probably your best bet.
    3. I'm going to use external signal for triggering through PIF0 port, is it Ok to do that through dag assistance?? I've not tried yet but it seems straightforward?
    That should work fine. Given your continuous acquisition, the trigger will only start the acquisition, not gate it or trigger it at later times.
    4. Finally I have another vi for valve control that should be triggered with the measurement vi, is their any way to do that?
    We do not have enough information to answer this question. Specifically, how is the valve being triggered (boards being used, hardware interface, software interface). The ideal way would be to run it through the same cDAQ 9178 so that it can be synchronized through hardware. Software synchronization cannot be guaranteed better than about ±50ms. Read up on how to synchronize things through DAQmx and you should be good.
    Good luck!
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Triggering and Recording for specific duration

    Enclosed is the VI which I am using to trigger a electrical circuit for generating a spark.
    My system is very simple wherein I am generating spark in a vessel (by a triggred electrical pulse to HV generator) and measuring the pressure and temperature for a specified time of X and Y seconds after the spark.
    Part A:
    On a single Boolean input (TRUE) I would like to have following:  
    1. The Trigger pulse (USB 6009 device) should start and last for say 1.5 sec. which is input to my electrical circuit. Two DAQ max is used since current from one port is not sufficient to trigger the HV generator - electrical circuit.
    2. At the same time the pressure inside the vessel should be recorded for X sec. only (writing to file)
    3. Simultaneously the temperature should also be recorded for Y sec. only (writing to file)
    In the present VI, I have to keep the “Auto fire and record” button pressed to write the data to file. I have set up preset time for the trigger pulse.
    After triggering and recording for specific time 1.5, X and Y sec. the Boolean should go to FALSE position since long duration pulse to electrical circuit can be damaging.
    *** REQUEST SOME-ONE HELP ON THIS MATTER ASAP. ****
    Part B:
    Later I have to record the values of current and voltage measured at three locations by Tektronix TDS 3034B Scope (channel 1, 2  and 3) for a duration of 300 nano-seconds after the spark has occurred (i.e. say P sec. after trigger pulse and recording till P + 300 duration)
    This simple logic seems to be more difficult than, I expected, can some one please help
    / suggest in the right direction. (**VI attached**)
    Sorry for the language – New to Labview and not an electrical engineer. So pl. explain.
    THANKS
    Email: [email protected]

    Hi xseadog,
    Sincere apologies for inordinate delay in reply.
    Was blocked up with actually setting up the experiment in physical sense. Keeping all the bits and pieces in right place.
    The pressure sensor / transducer is Omega PX219 with output 0 – 5 V. Recording pressure reading every 0.001sec. immediately after the spark trigger (USB 6009 signal) is switched ON. (through labview)
    The temperature is K type thermocouple. Recording temp every 1/12 sec.(0.0833 sec) after spark.
    I have made a provision to trigger the spark manually – through push button. But this mode requires me to start recording press and temp., before pushing the button to generate spark. Hence keen on using the trigger initiated through Labview.
    Regarding relay controlled by the 6009, I understand that circuit is similar to that. The HV is generated through an EHT pulse generator, which is ready now, the only thing is it requires a trigger of 5 V and more than 10 mA.
    Manually when we generate spark, we do not require the USB 6009, so we get spark every time when button is pushed, it was only during the Labview trigging we diagnose this prob. And hence clubbed the two channels of 6009.
    As of now the loop time “Auto fire and record” which is the key for firing –spark generation –runs every 1.011 sec. can you suggest, how to reduce the loop time ?.
    Does the DAQ’s consumes time or which step consumes more time. I would request your comments.
    Thanks for the continuous help / replies.
    nnnsh

  • Interactions, triggers and events that can work in PDS

    I have been trying to make interactions, triggers and events in Edge animate and then use them in Indesign
    - publish to DPS.
    I don't think I really managed to make any of them work.
    Is there anyone who knows what kind of interactions, triggers or events that are supported
    in both programs and do actually wotk?
    Thanks
    Guy

    I am not sure of the limitations, if any, what version of Indesign are you using? It could be a version conflict.
    I just did a simple test (Edge 2 / In CC) with simple click event triggers and it worked fine.
    Also in open Indesign > Window > Folio Overlays and make sure Allow User Interaction is checked.
    Darrell

  • Triggered and continuous analog input togeather?

    Hi,
    I have a program set up based off a shipped LV example involving digital triggering of the analog inputs. It looks at a pulse and reads in ten points from the rising edge continuously. It appears that we are missing some pulse triggers and only reading in 126 triggers/sec instead of 128. We double checked the pulse and the frequency is correct (128Hz) so it seems as if the LV program is missing some of the pulses. Therefore, I want to use another analog input channel on the same 6062E daq card to continuously read in the waveform and see which pulses are being skipped. Is this possible?

    Lisa,
    I don't believe the E-series architecture will allow triggered and continuous analog input operations to occur in parallel. It is possible to set up different gains/input ranges but I'm 95% sure that the functionality that you are after isn't there.
    If you are looking to keep track of the number of pulse seen by your application you could consider the use of a counter to count the number of rising edges seen by the NI 6062E - basically daisy chain the pulse train to the trigger input and the GP_CTR Source pin of the counter you wish to use. There are a number of examples around that should help with this. Running the counter and analog input operations in parallel shouldn't be a big problem - it might be that you would want to set up a buffered event co
    unt operation for the counter as this will allow you to track and monitor every single trigger event seen by the counter while your analog input operations continue in parallel.
    The other aspect to consider is benchmarking your application with the Profiler. If the problem is that you consistently only see 126 triggers/second, perhaps your acquisition loop is not running fast enough to cope with the data. This can be especially true if any data processing or file storage is taking place inside the acquisition loop. The Profiler will allow you spot bottlenecks and get a better understanding as to the performance of your application.
    I appreciate this is perhaps not a direct answer but hope that it gives some ideas as to how to track down the cause of the problems you are experiencing.
    Jeremy

  • Difference between rew level triggers and statement level triggers

    Hi All
    I would like to know the exact difference between rew level triggers and statement level triggers.Please provide me with an example.
    Thanks
    Anand

    What is difference between row & statement?
    One statement can change many rows.
    Difference determines how many times the trigger fires or under what conditions.

  • Write-through limitation and putAll

    Please find the quote below from developer guide, particularly this one In other words, if two cache entries are updated, triggering calls to CacheStore modules sitting on separate cache servers, it is possible for one database update to succeed and for the other to fail.If a putAll is called on a cache, will it result in one CacheStore.storeAll or many storeAll triggered from different coherence nodes/servers? (assume a distributed topology coherence 3.7.1)
    Will the store transaction failure lead to putAll transaction failure?
    Are there any patterns that shows how this coherence works with typical databases?
    14.7.2 Write-Through LimitationsCoherence does not support two-phase CacheStore operations across multiple CacheStore instances. In other words, if two cache entries are updated, triggering calls to CacheStore modules sitting on separate cache servers, it is possible for one database update to succeed and for the other to fail. In this case, it may be preferable to use a cache-aside architecture (updating the cache and database as two separate components of a single transaction) with the application server transaction manager. In many cases it is possible to design the database schema to prevent logical commit failures (but obviously not server failures). Write-behind caching avoids this issue as "puts" are not affected by database behavior (as the underlying issues have been addressed earlier in the design process).

    gs100 wrote:
    Thanks for the input, I have further questions based on these suggestions.
    1. Let us say one of the putAll fails we would know that it has failed due to underlying one or more store/storeAll. And even if we rollback the coherence transaction, the store/storeAll that succeeded would not be rolled back automatically, is that correct? If true, this means that it would leave the underlying DB/store in the inconsistent state with that of in-memory cache?I guess that is one of the reasons why the transaction framework does not support cache stores... also, write-behind would coalesce updates which would have funny consequences with regards to the transactional context...
    2. How do we get the custom implementation of putAll, that you suggested to handle specific errors? any pointers on this would be helpful.I guess it is not going to be posted, the Coherence team may or may not add something which is a bit more deterministic with regards to error.
    A few aspects of Coherence behaviour (a.k.a pitfalls) which you need to be aware of to be able to implement your own solution:
    Exceptions propagating back to the client can happen in:
    - entry-processor (not for putAll specifically)
    - result serialization code (not for putAll specifically, but for processAll/aggregate for example)
    - deserialization code (indexes/filter-based backing map listeners/cache stores lead to deserialization even for putAll)
    - triggers (intentionally, too)
    - cache stores
    There is no place where you could catch any exceptions from inside the NamedCache call, so they will come out.
    Coherence may execute the operation on one thread per partition or one thread per multiple partitions, but never on multiple threads per partition. This means there may be multiple exceptions even from a single storage node, but only at most one exception would be generated per partition (starting with 3.5).
    If you send multiple partitions with the same NamedCache call, you can lose exceptions as you wouldn't know if an exception would have or wouldn't have happened with a partition if it was sent alone instead of together with another on the same node.
    As you need to be able to return all exceptions from your method call, you have to produce and catch all of them and collect them otherwise you would lose all but one. To produce and catch all exceptions you have to produce all exceptions independently, i.e. different partitions must be operated on independently.
    To send an operation to a single partition only, you can separate the operations to different partitions by separating the keysets for different partitions with key-based operations, or applying a PartitionedFilter for filter-based operations.
    It is up to you where and how you iterate through the partitions. You can do it on the caller, you can do it on storage node from an Invocable sent via an InvocationService (in this case you can be either optimistic with ownership or chase a partition).
    3. Because we are thinking putAll that coherence implemented is most optimized (parallelism). I am not sure how the custom implementation can be as optimal (hope we don't end up calling one by one).You cannot implement it as optimally as Coherence itself does as it interleaves operations (Messages) to independent partitions/nodes (does not have to wait for the return message) from a single thread without waiting for the responses from individual nodes/partitions.
    You can either parallelize operations to multiple threads, or do the iteration on the single thread at the cost of higher latency.
    Best regards,
    Robert

Maybe you are looking for

  • AUC Down Payment issue

    Dear Experts, Recently we have activated the down payment process in our system for normal purchase orders without configuring for AUC. In the month end we settle the internal orders to AUC (KO88), while doing this process, I got the error You cannot

  • Windows 7 and Desktop software not auto-synci​ng

    I have a BB Bold 9700, Windows 7 Ultimate, and latest desktop software from BB site.  The issue is that the sync doesn't start when device connected.  I have to manually initiate the sync and it works fine.   When I was using Windows XP and I connect

  • Resizing a flex application

    I am trying to write a resize function for my flex application. I have pasted a simple sample below, but when I try to run this application I get the following error: TypeError: Error #1009: Cannot access a property or method of a null object referen

  • Header is gone

    After convertint to a PDF file the header is missing, any ideas?

  • Threat of jnlp app startup failure in future java release

    I am the developer of a java jnlp app and have just upgraded to 1.7.0_45.  Web start is now threatening to block my app from starting in a future release because my jar file is missing the Permissions manifest attribute. It is easy enough to add the