what is the difference between stop and abort?

Answer Posted / vijay

Do not use abort unless absolutely necessary. It is messy.
Using stop is a cleaner way, and because it is cleaner, it
often takes more time.
Here's the difference:
ABORT is equivalent to:
1. Kill -9 on Unix (NOT kill -7) but YES, Kill -9
2. SIGTERM ABEND (Force ABEND) on Mainframe
3. Windows FORCE QUIT on application.
What does this do?
Each session uses SHARED/LOCKED (semaphores) memory blocks.
The ABORT function kills JUST THE CODE threads, leaving the
memory LOCKED and SHARED and allocated. The good news: It
appears as if AIX Operating system cleans up these lost
memory blocks. The bad news? Most other operating systems
DO NOT CLEAR THE MEMORY, leaving the memory "taken" from
the system. The only way to clear this memory is to warm-
boot/cold-boot (restart) the informatica SERVER machine,
yes, the entire box must be re-started to get the memory
back.
If you find your box running slower and slower over time,
or not having enough memory to allocate new sessions, then
I suggest that ABORT not be used.
So then the question is: When I ask for a STOP, it takes
forever. How do I get the session to stop fast?
well, first things first. STOP is a REQUEST to stop. It
fires a request (equivalent to a control-c in SQL*PLUS) to
the source database, waits for the source database to clean
up. The bigger the data in the source query, the more time
it takes to "roll-back" the source query, to maintain
transaction consistency in the source database. (ie: join
of huge tables, big group by, big order by).
It then cleans up the buffers in memory by releasing the
data (without writing to the target) but it WILL run the
data all the way through to the target buffers, never
sending it to the target DB. The bigger the session memory
allocations, the longer it takes to clean up
.
Then it fires a request to stop against the target DB, and
waits for the target to roll-back. The higher the commit
point, the more data the target DB has to "roll-back".
FINALLY, it shuts the session down.
WHAT IF I NEED THE SESSION STOPPED NOW?
Pick up the phone and call the source system DBA, have them
KILL the source query IN THE DATABASE. This will send an
EOF (end of file) downstream to Informatica, and Infa will
take less time to stop the session.
If you use abort, be aware, you are choosing to "LOSE"
memory on the server in which Informatica is running
(except AIX).
If you use ABORT and you then re-start the session, chances
are, not only have you lost memory - but now you have TWO
competing queries on the source system after the same data,
and you've locked out any hope of performance in the source
database. You're competing for resources with a defunct
query that's STILL rolling back.

Is This Answer Correct ?    14 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Hi all, Can you please send me the Dimensions and fact tables which are used in mutual fund project. and please send me the brief summary about the project. Please do the needful.

1854


tell me the rules and responsblites in our project(my project is development)

1497


What are the components of workflow manager?

588


Explain constraint based loading in informatica

659


What is a filter transformation?

567






Is it possible to define a single node as a Gateway node as well as worker node?

659


How many transformations can be used in mapplets.

1459


What is an unconnected transformation?

667


Please let me know how to make encryption and decryption with example?

1469


What are the different lookup cache(s)?

620


What you know about transaction control transformation?

559


what are all the deliverables of ETL informatica power center project? what are all updated or created by etl developer as his everyday activities?

1776


Clarify the aggregator change?

595


what is the size of u r source(like file or table)?

1818


What is Story point Estimation ? Can any one give just an introduction about this ? Advance Thanks

4783