I set WalAutoArchiveAfterInactivity to 60 milliseconds, I got NPE.
java.lang.NullPointerException at
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager.closeBufAndRollover(FileWriteAheadLogManager.java:896) at
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager.checkWalRolloverRequiredDuringInactivityPeriod(FileWriteAheadLogManager.java:784) at
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager.access$700(FileWriteAheadLogManager.java:158) at
org.apache.ignite.internal.processors.cache.persistence.wal.FileWriteAheadLogManager$7.onTimeout(FileWriteAheadLogManager.java:747) at
org.apache.ignite.internal.processors.timeout.GridTimeoutProcessor$TimeoutWorker.body(GridTimeoutProcessor.java:234) at
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120) at
java.base/java.lang.Thread.run(Thread.java:834)
I've filed an issue in the Apache Ignite Jira. It looks like there's a race in the WAL rollover procedure. It's visible only with relatively small values for walAutoArchiveAfterInactivity. Anyway I can't even imagine a load profile that could benefit from the property being set to 60ms. To be honest I don't think that you really need it.
Related
I created an internal website for our company. It run smoothly for several months and then I add more items to website. When I run in live, it run normally. Then suddenly one of my user from another server sending me an "The Wait operation timed out." error. When I check access that certain link, It run normally for me and some other who I ask to check if they access that page. I already increase the connection timeout but still no luck. Is it the error come from another server? Can someone explain the possible causes?
This is how the another plant faced, every time they firstly open the website, error screen show up, but when they refresh it, they can use the website. I dont know why this happened. I need your help.
Down below is a error detail:
1.Exception Details: System.ComponentModel.Win32Exception: The wait operation timed out
source error :An unhandled exception was generated during the execution of the current web request.
2.Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Thanks in advance
The fact that this happens for a user but not for the testers implies this may occur when the system is under load; database timeouts are pretty common in database queries functioning under stress if the database has been set up "out of the box" without tuning.
I would suggest referring to
The wait operation timed out. ASP
I don't have enough information to troubleshoot more question properly, since I don't know what DBMS you are working with. But as a rule this seems to happen because a call to the database is timing out. In SQL Server, increasing the CommandTimeout (NOT connection timeout) is one of the quick-and-dirty ways to solve the problem.
In SQL Server, CommandTimeout is the time allowed for an operation before exiting with a time out error. Connectiontimeout, by contrast, is the time the system waits when trying to open an initial connection to the database. Changing connectiontimeout won't help with the timeout of an operation, but commandtimeout will.
Other DBMS systems will have other mechanisms for resolving timeout issues.
That's one quick and dirty solution. The longer solution is to add more logging to your system to identify which calls are timing out, then doing some DBA work to optimize the query and database performance. My understanding is that entity frameworks also have tuning options for automatically generated queries, but exactly what those are depends on which one you're using!
I am using Weblogic 10.3.6 with 8 managed servers configured with session timeout as 600 seconds. I have an issue with my application that when a session gets timed out in 600 seconds(I am receiving as STUCK alerts which is also configured) I am facing slowness in my application. My question is,
Will all threads be impacted because of one STUCK thread(STUCK thread
was due to DB transaction timeout)
I assume it will not be, but wanted to confirm.
Depends on your application. In general no, but if for example the stuck thread is holding a lock on an object (database, file, etc.) called by other requests, these may be affected too. Also, depending on what the stuck thread is doing, it may use excessive resources (cpu, memory, disk, etc.). I suggest to investigate why the thread is taking so long and if it's possible to
I have a strange exception executing a simple linq query, the query is expressed in VB.NET (sorry..). The exception is, as the title says: "System.AccessViolationException", the full exception message chain is
"System.Web.HttpUnhandledException: Exception of type
'System.Web.HttpUnhandledException' was thrown. --->
System.AccessViolationException: Attempted to read or write protected
memory. This is often an indication that other memory is corrupt. "
The strange behavior is:
The exception is thrown randomly
The exception is thrown just on production server and not on the same test server
The query executed against the production db using LinqPad works perfectly
This is the full exception stack trace:
In the stack trace the erased methods calls makes a query using the Single() linq method.
We think the issue is related to a KB installed on the production server with windows update, but it's clear, we dont't know it exactly
Any idea what could be the real issue?
Thanks in advance
All the symptoms points to a bad memory stick on the server, or other hardware issues (overheating/overclocking). It could also be caused by a virus. Access violations happen when a pointer in memory gets corrupted and ends up referencing a protected memory area. I would recommend you transfer the image to another physical machine altogether and run a full MEMTEST86 run on the server, and give the housing a thorough cleaning, replace old fans, etc... If the problem is not isolated this way then reinstall the production server from scratch on a fresh drive.
I have one NHibernate web application. I have used sys cache provider. While doing any transaction, due to any reason over communication problem between DB server or App server (E.g., n/w problem), the query will fail and this is obvious. But the issue is, this result i.e., exception, is cached for that query, the subsequent execution returns the same result.
The worse case is this happens even on versioning issue i.e., say while updating an domain entity, the same row was already updated by another transaction, the query execution gives an exception with message "Row was updated or deleted by another transaction". This result is cached for the period of default cache configuration time (5 mins).
How to configure not to cache the result on exception or how to clear the cached result during this scenario?
Thanks for help.
Thanks and Regards,
Vijay Pandurangan
You can catch the exception that is thrown, then depending on the exception, evict the entity from the cache using ISession.Evict() (there are several overrides, and EvictCollection() exists too). To invalidate the whole cache, you can use ISession.Clear(). If you really don't trust it, I'd probably create a new ISession entirely.
I'm having a problem in my application when I'm saving an entity. On occasion I'd get NonUnique exception on that entity from NHibernate. Now, I know what causes those kind of exceptions and how to deal with them, but since the application codebase is rather large (200K LOC), it's very hard to pinpoint which object it was exactly that caused that error.
What I'd like to do is query or extract somehow all the objects that NHibernate keeps in the session scope cache, so i'd have a better idea of what it was exactly that caused that exception.
Is there a way to do something like that ?
As far as I know there is nothing in ISession to "list" its contents. You could use interceptors or event listeners to track and log your operations though.