- Mozilla Thunderbird
- Opera
- Windows Live Mail
- Pegasus Mail
- IncrediMail
- Mulberry
- Claws Mail
- Spicebird
- Zimbra Collaboration Suite
- Sylpheed
Wednesday, December 28, 2011
Top free email clients for Linux, Mac OS and Windows users
Monday, December 26, 2011
Performance Tuning Exercise - Helpful Notes
1. DMCL Tracing of WDK Applications
2. Memory leaks in Java Application
3. HTTP Traffic through fiddler
4. Performance profiling Tool for DFC 6
2. Memory leaks in Java Application
3. HTTP Traffic through fiddler
4. Performance profiling Tool for DFC 6
Wednesday, December 21, 2011
DQL Queries - Indexing
1. Total number of documents that should be indexed:
select distinct r_object_id as OBJID from dmr_content where any parent_id in (select r_object_id from dm_document where a_full_text = true)
2. Total number of documents that have failed to index:
select count(*) from dmr_content where any update_count < 0
3. Total number of documents that have been indexed:
select count(*) from dmr_content where any update_count > 0
4. Gives general overview of current indexing state:
select update_count, count(*) from dmr_content group by 1
5. Find names of all fulltext indices and what they refer to:
select index_name,store_name from dm_fulltext_index
6. Find all indexed documents:
select r_object_id object_name from dm_sysobject where a_full_text = true and r_object_id in (select parent_id from dmr_content where any (index_pending = false and update_count >0))
7. Find all documents waiting to be indexed:
select r_object_id object_name from dm_sysobject where a_full_text = true and r_object_id in (select parent_id from dmr_content where any index_pending = true)
8. Checking the status of a particular document:
select index_pending,update_count from dmr_content where any parent_id = 'document_id' and any parent_id in (select r_object_id from dm_sysobject where a_full_text = true)
select distinct r_object_id as OBJID from dmr_content where any parent_id in (select r_object_id from dm_document where a_full_text = true)
2. Total number of documents that have failed to index:
select count(*) from dmr_content where any update_count < 0
3. Total number of documents that have been indexed:
select count(*) from dmr_content where any update_count > 0
4. Gives general overview of current indexing state:
select update_count, count(*) from dmr_content group by 1
5. Find names of all fulltext indices and what they refer to:
select index_name,store_name from dm_fulltext_index
6. Find all indexed documents:
select r_object_id object_name from dm_sysobject where a_full_text = true and r_object_id in (select parent_id from dmr_content where any (index_pending = false and update_count >0))
7. Find all documents waiting to be indexed:
select r_object_id object_name from dm_sysobject where a_full_text = true and r_object_id in (select parent_id from dmr_content where any index_pending = true)
8. Checking the status of a particular document:
select index_pending,update_count from dmr_content where any parent_id = 'document_id' and any parent_id in (select r_object_id from dm_sysobject where a_full_text = true)
Sunday, November 27, 2011
Improve performance of Webtop home Page
Performance of home page loading (doc list) can be improved by following configuration on Database.
Create index on IDOCS_DOCUMENT_S( description, r_object_id) ; // composite index with 2 columns .. r_object_id is the last column .
Create index on IDOCS_DOCUMENT_S( description, r_object_id) ; // composite index with 2 columns .. r_object_id is the last column .
Friday, August 26, 2011
UCF is not obeying the proxy configuration
Why might UCF not obey the Proxy Configuration Settings "
There is an undocumented setting called ignoreProxy that can be added to ucf.installer.config.xml configuration file located in the applications wdk/contentXfer directory on the application server machine which will cause the UCF runtime to ignore the proxy settings.
The standard ucf.installer.config.xml configuration file would look something like the following example.
<xml version="1.0" encoding="UTF-8">
<dctm fileVersion="5.3.0.1" compatibilityVersion="5.3.0.1">
<ucfInstaller codebase="" loggerLevel="INFO">
With the ignoreProxy setting it look like the following
<xml version="1.0" encoding="UTF-8">
<dctm fileVersion="5.3.0.1" compatibilityVersion="5.3.0.1">
<ucfInstaller codebase="" loggerLevel="INFO" ignoreProxy="true">
With this setting configured you would see something like the following output to the Java Console when the UCF runtime is being launched.
WARNING: Not looking up any proxy information as it's explicitly configured to be ignored
When this message is displayed the Proxy Configuration will be ignored and you may encounter undesirable behaviour.
This setting is not documented in our Product Documentation currently but some customers have added this setting as it is recommend to add the settings for loadrunner testing. ( See the LoadRunner Scripts for Webtop documentation that can be found on the Documentum Developer Website )
There is an undocumented setting called ignoreProxy that can be added to ucf.installer.config.xml configuration file located in the applications wdk/contentXfer directory on the application server machine which will cause the UCF runtime to ignore the proxy settings.
The standard ucf.installer.config.xml configuration file would look something like the following example.
<xml version="1.0" encoding="UTF-8">
<dctm fileVersion="5.3.0.1" compatibilityVersion="5.3.0.1">
<ucfInstaller codebase="" loggerLevel="INFO">
With the ignoreProxy setting it look like the following
<xml version="1.0" encoding="UTF-8">
<dctm fileVersion="5.3.0.1" compatibilityVersion="5.3.0.1">
<ucfInstaller codebase="" loggerLevel="INFO" ignoreProxy="true">
With this setting configured you would see something like the following output to the Java Console when the UCF runtime is being launched.
WARNING: Not looking up any proxy information as it's explicitly configured to be ignored
When this message is displayed the Proxy Configuration will be ignored and you may encounter undesirable behaviour.
This setting is not documented in our Product Documentation currently but some customers have added this setting as it is recommend to add the settings for loadrunner testing. ( See the LoadRunner Scripts for Webtop documentation that can be found on the Documentum Developer Website )
Reference: powerlink
Tuesday, August 23, 2011
Inbox, Work Queue Monitoring pages are too slow...Optimize Oracle DB
Add the following settings in init.ora
cursor_sharing = FORCE
optimizer_mode = CHOOSE
optimizer_index_cost_adj = 5
optimizer_index_caching = 95
cursor_sharing = FORCE
This parameter allows the optimizer to recognize similar statements and reduce parsing, even when bind variables are not being used. It
provides best benefit in large load environments. Note, however, that in Oracle 8i cursor_sharing=FORCE could lead to some sub-optimal query execution plans.
optimizer_mode = CHOOSE
This defines the behaviour of the optimizer. When set to CHOOSE, the optimizer will use cost-based optimization if statistics are available, and rule-based when statistics are not available. As certain applications and/or releases provide better performance in rule vs. cost-based optimization, this value provides the greatest flexibility as statistics need only be updated or deleted to switch optimization modes, without having to restart the instance.
optimizer_index_cost_adj = 5
The parameter tells Oracle's optimizer to always make indexes cheaper than full table scans. The default for this parameter is 100, and by changing it to 5, indexes look a lot cheaper to Oracle, and nested loop operations will be favoured.
optimizer_index_caching = 95
The parameter tells Oracle's optimizer to assume that it can expect to find a certain percentage of index blocks in the buffer cache. The default for this parameter is 0, and by changing it to 95, indexes look a lot cheaper to Oracle, and nested loop operations will be favoured.
cursor_sharing = FORCE
optimizer_mode = CHOOSE
optimizer_index_cost_adj = 5
optimizer_index_caching = 95
cursor_sharing = FORCE
This parameter allows the optimizer to recognize similar statements and reduce parsing, even when bind variables are not being used. It
provides best benefit in large load environments. Note, however, that in Oracle 8i cursor_sharing=FORCE could lead to some sub-optimal query execution plans.
optimizer_mode = CHOOSE
This defines the behaviour of the optimizer. When set to CHOOSE, the optimizer will use cost-based optimization if statistics are available, and rule-based when statistics are not available. As certain applications and/or releases provide better performance in rule vs. cost-based optimization, this value provides the greatest flexibility as statistics need only be updated or deleted to switch optimization modes, without having to restart the instance.
optimizer_index_cost_adj = 5
The parameter tells Oracle's optimizer to always make indexes cheaper than full table scans. The default for this parameter is 100, and by changing it to 5, indexes look a lot cheaper to Oracle, and nested loop operations will be favoured.
optimizer_index_caching = 95
The parameter tells Oracle's optimizer to assume that it can expect to find a certain percentage of index blocks in the buffer cache. The default for this parameter is 0, and by changing it to 95, indexes look a lot cheaper to Oracle, and nested loop operations will be favoured.
Courtesy: powerlink.emc.com
Thursday, August 18, 2011
Internal Server Error due to timeout from HTTP Server
We are getting internal server error because of the timeout from HTTP server. Though we have the 'ServerIOTimeout' to '0'(no timeout) from default 60 sec, people told that increasing this timeout will cause hung threads on app server and the app server will take more time to render and JVM will get hung.
Recommendation from EMC for this parameter :
Recommendation from EMC for this parameter :
Increase the HTTP server session value to 300. This should help with the application loading on the client’s web browser.
Following is the ennvironment:
Webtop v6.5
Websphere 7.0
If Workflow queue items are deleted, workflow dars are not getting installed
Here are the two options.
1. Restore the dmi_queue_item_s table.
2. All running workflows are useless without the queue item. You will never be able to reach them again. If this is fine we can remove the relationship between the workflows and their queue_items and you can uninstall the wf template again. These workflows should be terminated afterwards to remove them from the system.
a. Run this SQL query to remove the relationship
update dmi_workitem_s set r_queue_item_id = '0000000000000000' where r_queue_item_id <> '0000000000000000' and r_queue_item_id not in (select r_object_id from dmi_queue_item_s)
b. The workflow templates can now be uninstalled.
c. Clean up the repository by terminating all the workflows that are missing dmi_queue_items.
It is not recommended to delete rows from the database that Documentum uses. If you need to delete something, do it through Documentum Administrator or DFC.
1. Restore the dmi_queue_item_s table.
2. All running workflows are useless without the queue item. You will never be able to reach them again. If this is fine we can remove the relationship between the workflows and their queue_items and you can uninstall the wf template again. These workflows should be terminated afterwards to remove them from the system.
a. Run this SQL query to remove the relationship
update dmi_workitem_s set r_queue_item_id = '0000000000000000' where r_queue_item_id <> '0000000000000000' and r_queue_item_id not in (select r_object_id from dmi_queue_item_s)
b. The workflow templates can now be uninstalled.
c. Clean up the repository by terminating all the workflows that are missing dmi_queue_items.
It is not recommended to delete rows from the database that Documentum uses. If you need to delete something, do it through Documentum Administrator or DFC.
Monday, June 6, 2011
UCF Session Timeout while accessing webtop via SSL
When we try to access the Webtop via SSL (using RSA or any other) , it always fails in content transfer related action (create document / export / checkout) and gives the below error.
Steps to troubleshoot:
Turn on UCF server and UCF client tracing, and recreate the error? Tracing details are below:
1. UCF Client logs and traces
Please set the following for the above mentioned traces/logs
In ucf.client.config.xml,
.
In ucf.client.logging.properties,
handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler
.level=ALL (by default, it is WARNING)
2. UCF Server logs and traces
In ucf.server.config.xml,
Please reference the log4j.properties example below, which is meant to help us getting the Server and DFC traces
log4j.rootCategory=ALL, stdout, file
log4j.category.MUTE=OFF
log4j.additivity.tracing=false
#log4j.category.tracing=ERROR, FILE_TRACE
log4j.logger.com.documentum=ALL,DFC_TRACE
#------------------- CONSOLE --------------------------
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.threshold=ERROR
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p [%t] %c - %m%n
#------------------- FILE --------------------------
log4j.appender.F1=org.apache.log4j.RollingFileAppender
log4j.appender.F1.File=C\:/Documentum/logs/log4j.log
log4j.appender.F1.MaxFileSize=10MB
log4j.appender.F1.layout=org.apache.log4j.PatternLayout
log4j.appender.F1.layout.ConversionPattern=%d{ABSOLUTE} %5p [%t] %c - %m%n
#------------------- FILE_TRACE --------------------------
log4j.appender.FILE_TRACE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE_TRACE.File=C\:/Documentum/logs/trace.log
log4j.appender.FILE_TRACE.MaxFileSize=100MB
log4j.appender.FILE_TRACE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE_TRACE.layout.ConversionPattern=%d{ABSOLUTE} [%t] %m%n
#------------------- DFC_TRACE --------------------------
log4j.appender.DFC_TRACE=org.apache.log4j.RollingFileAppender
log4j.appender.DFC_TRACE.File=C\:\\Documentum\\logs\\dfc.log
log4j.appender.DFC_TRACE.MaxFileSize=100MB
log4j.appender.DFC_TRACE.layout=org.apache.log4j.PatternLayout
log4j.appender.DFC_TRACE.layout.ConversionPattern=%d{ABSOLUTE} [%t] %m%n
log4j.logger.com.documentum.debug=DEBUG
log4j.logger.com.documentum.web=DEBUG
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{ISO8601}|%-5p|%-22t|%C|%M|%-4L] %m%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C\:/Documentum/logs/wdk.log
log4j.appender.file.MaxFileSize=500KB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d{ISO8601}|%-5p|%-22t|%C|%M|%-4L] %m%n
log4j.category.tracing=DEBUG, FILE_TRACE
3. Combined DFC/DMCL traces
In dfc.properties file, add the following:
dfc.tracing.enable=true
dfc.tracing.verbose=true
dfc.tracing.max_stack_depth=0
dfc.tracing.include_rpcs=true
dfc.tracing.mode=compact
dfc.tracing.include_session_id=true
dfc.tracing.combineDMCL = true
All of these should be taken together for two times, first when the issue is seen and the second when the issue does not occur.
Its imperative for us to get the these logs (1,2 and 3) together in two sets as mentioned in the above line.
Steps to troubleshoot:
Turn on UCF server and UCF client tracing, and recreate the error? Tracing details are below:
1. UCF Client logs and traces
Please set the following for the above mentioned traces/logs
In ucf.client.config.xml,
.
In ucf.client.logging.properties,
handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler
.level=ALL (by default, it is WARNING)
2. UCF Server logs and traces
In ucf.server.config.xml,
Please reference the log4j.properties example below, which is meant to help us getting the Server and DFC traces
log4j.rootCategory=ALL, stdout, file
log4j.category.MUTE=OFF
log4j.additivity.tracing=false
#log4j.category.tracing=ERROR, FILE_TRACE
log4j.logger.com.documentum=ALL,DFC_TRACE
#------------------- CONSOLE --------------------------
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.threshold=ERROR
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{ABSOLUTE} %5p [%t] %c - %m%n
#------------------- FILE --------------------------
log4j.appender.F1=org.apache.log4j.RollingFileAppender
log4j.appender.F1.File=C\:/Documentum/logs/log4j.log
log4j.appender.F1.MaxFileSize=10MB
log4j.appender.F1.layout=org.apache.log4j.PatternLayout
log4j.appender.F1.layout.ConversionPattern=%d{ABSOLUTE} %5p [%t] %c - %m%n
#------------------- FILE_TRACE --------------------------
log4j.appender.FILE_TRACE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE_TRACE.File=C\:/Documentum/logs/trace.log
log4j.appender.FILE_TRACE.MaxFileSize=100MB
log4j.appender.FILE_TRACE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE_TRACE.layout.ConversionPattern=%d{ABSOLUTE} [%t] %m%n
#------------------- DFC_TRACE --------------------------
log4j.appender.DFC_TRACE=org.apache.log4j.RollingFileAppender
log4j.appender.DFC_TRACE.File=C\:\\Documentum\\logs\\dfc.log
log4j.appender.DFC_TRACE.MaxFileSize=100MB
log4j.appender.DFC_TRACE.layout=org.apache.log4j.PatternLayout
log4j.appender.DFC_TRACE.layout.ConversionPattern=%d{ABSOLUTE} [%t] %m%n
log4j.logger.com.documentum.debug=DEBUG
log4j.logger.com.documentum.web=DEBUG
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{ISO8601}|%-5p|%-22t|%C|%M|%-4L] %m%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C\:/Documentum/logs/wdk.log
log4j.appender.file.MaxFileSize=500KB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d{ISO8601}|%-5p|%-22t|%C|%M|%-4L] %m%n
log4j.category.tracing=DEBUG, FILE_TRACE
3. Combined DFC/DMCL traces
In dfc.properties file, add the following:
dfc.tracing.enable=true
dfc.tracing.verbose=true
dfc.tracing.max_stack_depth=0
dfc.tracing.include_rpcs=true
dfc.tracing.mode=compact
dfc.tracing.include_session_id=true
dfc.tracing.combineDMCL = true
All of these should be taken together for two times, first when the issue is seen and the second when the issue does not occur.
Its imperative for us to get the these logs (1,2 and 3) together in two sets as mentioned in the above line.
Wednesday, April 6, 2011
Saturday, April 2, 2011
Wednesday, March 23, 2011
Calendar Object Reference in Process Template - Issue with Deployment
After adding the calendar to the process templates (for notifications during business hours), our deployment of the process templates using Composer got failed by throwing following exception.
Exception Information:
emc.installer] [ERROR] Install Parameter validation failure
[emc.installer] internal.com.emc.ide.installer.installable.installoptions.InstallableParameterValidationException: Owner-user object not found for object name ="
Request Type: Deployments/Maintenance / System: DAR
Analysis & Findings:
Calendar objects are referring to a user object (logged in user) when the events are defined in the calendar.
After deploying this dar in a different environment, the dm_user object is invalid in this new repository, causing deployment error.
The details are as follows:
Exception Information:
emc.installer] [ERROR] Install Parameter validation failure
[emc.installer] internal.com.emc.ide.installer.installable.installoptions.InstallableParameterValidationException: Owner-user object not found for object name =
Request Type: Deployments/Maintenance / System: DAR
Analysis & Findings:
Calendar objects are referring to a user object (logged in user) when the events are defined in the calendar.
After deploying this dar in a different environment, the dm_user object is invalid in this new repository, causing deployment error.
The details are as follows:
- dmc_calendar object is referred by dmc_calendar_event object
- dmc_calendar_event object's attribute event_organizer is referring to the object id of the dm_user object who defined the event
- Set the value of the attribute, event_organizer, to null before building the dar so that the reference to the user object is removed from the dar definition and deployment will be successful.
Subscribe to:
Posts (Atom)