RavenDB Index Error With NServiceBus - ravendb

I am running NServiceBus 3.3 and I am getting this error:
Polling of timeouts failed.
There is no index named: RavenTimeoutPersistence/TimoutDataSortedByType
I run this worker as my Distributor. Like this:
NServiceBus.Host.exe
/install NServiceBus.Distributor NServiceBus.Production
/serviceName:BusDistributorService
/displayName:"Bus Distributor Service"
This answer indicates that I need to delete and recreate the index.
But I don't know anything about RavenDB besides the fact that NServiceBus uses it and it has never caused me issues before. I am hesitant to play around with my prod system when I have no experience doing this.
Can anyone give me a walk through on how to drop and recreate this index?
As a side note, does anyone know if this kind of error means that I lost messages?

Log-In to the machine that runs NServiceBus.
Browse to http://localhost:8080/raven/studio.html
Click on Databases in the upper right hand side.
Select the database for your queue
Select indexes (in the middle of the "toolbar")
Click on the pencil icon next to the index you need to fix
Screenshot/copy all this data out (should have Name, Maps and Fields)
Click on the X in the upper right hand side (NOTE: This will delete the index.)
Click on Indexes again (in the "toolbar")
Select Create Index in the upper right hand side.
Select Add Field from the upper right hand side.
Reenter the information for the RanvenTimeoutPersistence/TimeoutDataSortedByTime.
Select the save Icon from the upper right and side.

Related

Cannot add my custom performance counter in Performance Monitor

My own performance monitor is created and can be seen in "Add counters" left pane's list in Performance Monitor, but I can't add it to line view, I've tried:
restart computer and restart Performance Monitor under Administrator priviledge
start service "Performance Counter DLL Host" ref
add current windows account to Performance Monitor Users local group ref
rebuild performance monitor and make sure my custom performance monitor is enabled ref
but I still cannot add it to the line view, while other system's own counter can
Does anyone has any clue please? Thank you in advance.
I found the answer on my own.. I realized the Event Viewer might help so I checked it, among all the add counter operations, an error appears once with the message being "Disabled performance counter data collection from the "ASP.NET_2.0.50727" service because the performance counter library for that service has generated one or more errors. The errors that forced this action have been written to the application event log. Correct the errors before enabling the performance counters for this service." so I googled this message and found this post, I followed the steps answered by "Nick Gu - MSFT" and it worked! The counter can be added now.

Liferay 6.2 - No UserNotificationEvent exists with the primary key?

I'm facing an issue regarding Notifications on my portal (Liferay 6.2).
When I had the idea to clean old (& useless) notifications from the DB table USERNOTIFICATIONEVENT my notification portlet crashes.
Every time I open the notifications I get the following error:
Caused by: com.liferay.portal.NoSuchUserNotificationEventException: No UserNotificationEvent exists with the primary key 115765
Although my table is empty, and I login in with a user the notifications show to be 20 (for example) and when I click on them I get the error. Creating a new notification with java code, the table updates and inserts the new notifications, so after that the notifications show to be 21.
How is that possible to see 21 notifications when in USERNOTIFICATIONEVENT exists only 1 record?
How is it possible? It's because you manipulated the database without fully understanding it, a common recipe for disaster. Check where liferay site will store in which table details will fetch? for an argument to not bother. If you do anything on the database, do it through the API, never through database manipulation. Also check the link contained in that answer.
There are typically additional data structures, metadata for example for permission checks or the full text index that you'd need to update as well. And that's not a complete list
Restore your backup is the safest way to recover, because even if you get it to work now otherwise, the upgrade routines to the next version might find unexpected data. And then it's too late

What's elasticsearch and is it safe to delete logstash?

I have an internal Apache server for testing purpose, not client facing.
I wanted to upgrade the server to apache 2.4, but there is no space left, so I was trying to delete some files on the server.
After checking file size, I found a folder /var/lib/elasticsearch takes 80g space. For example, /var/lib/elasticsearch/elasticsearch/nodes/0/indices/logstash-2015.12.08 takes 60g already. I'm not sure what's elasticsearch. Is it safe if i delete this logstash? Thanks!
Elasticsearch is a search engine, like a NoSql database, and it stores the data in indeces. What you are seeing is the data of one index.
Probobly someone was using the index aroung 2015 when the index was timestamped.
I would just delete it.
I'm afraid that only you can answer that question. One use for logstash+elastic search are to help make sense out of system logs. That combination isn't normally setup by default, so I presume someone set it up at some time for some reason, and it has obviously done some logging. Only you can know if it is still being used, or if it is safe to delete.
As other answers pointed out Elastic search is a distributed search engine. And I believe an earlier user was pushing application or system logs using Logstash to this Elastic search instance. If you can find the source application, check if the log files are already there, if yes, then you can go ahead and delete your index. I highly doubt anyone still needs the logs back from 2015, but it is really your call to see what your application's archiving requirements are and then take necessary action.

Creating listeners with SQL Server AlwaysOn suddenly stopped working

Problem: I created 10 AlwaysOn Availability Groups with SQL Server without a problem. Suddenly, it stopped worked and I kept getting this ONLY on the "create the listener" part:
Msg 19471, Level 16, State 0, Line 9
The WSFC cluster could not bring the Network Name resource with DNS name 'L_MyListener' online. The DNS name may have been taken or have a conflict with existing name services, or the WSFC cluster service may not be running or may be inaccessible. Use a different DNS name to resolve name conflicts, or check the WSFC cluster log for more information.
Sometimes I also got Msg 19476. This was all maddening because one moment I was creating listeners and availability groups, feeling like a guru, and then everything stopped and I lost hours of time.
So how do you solve this? Of course, Microsoft's own suggested text in the above error description was NOT helpful.
Apparently, each listener is really creating a mini "computer" in Active Directory if you look. And... here's the kicker, a domain user can only join a computer to a domain a limited number of times and that default is 10. Who would have thought that adding listeners equates with joining users to a domain!???! Microsoft really should have made this listener thing more intuitive, at least in their description text of possible problems.
Well, on your Domain Controller, open ADSI Edit, configure it the first time to look at your default naming context of your domain, like "DC=yourname..." with the CN= rows below that. Now, right click on the "DC=" line, choose Properties and navigate down to ms-DS-MachineAccountQuota and increase the limit from 10 to something else like 100.
You may need to run "GPUPDATE /FORCE" on the SQL Servers where you want to try again to add the listener. You may also have to clean up the mess it left (i.e. delete and restore the bad attempt at setting up your group and listener) before you try again.
With SQL Server 2016 supposedly going to require each database be in its own group, with its own listener, people will hit this limit of 10 quite easily!
I hope this helps you. If so, please mark this as the answer on the left. Of course, there are other reasons why people may get this error, as in the Microsoft error now but this whole post is for people who had it working just fine and then suddenly it stopped.

Problems with BigQuery and Cloud SQL in same project

So, we have this one project which uses Cloud Storage and BigQuery as services. All has been well.
Then, I wanted to add Cloud SQL to this project to try it out. It asked for a unique Project ID so I gave it one. (The Project ID is different than the Project Number.)
Ever since then, I've been having a difficult time accessing my BigQuery tables. When I go to the BigQuery web interface, the URL contains the Project ID instead of the original Project Number. It shows the list of datasets, but now shows the Project Number before each dataset name and the datasets are greyed out and inaccessible. If I manually change the URL to contain the Project Number instead of the Project ID, it appears to work although it shows the list of datasets in the left nav twice, one set greyed out and inaccessible and the other set seemingly accessible.
At the same time, some code that I've been successfully using in Apps Script that accesses BigQuery is now regularly failing with a generic "We're sorry, a server error occurred. Please wait a bit and try again." I'm not sure if this is related to the Project ID/Project Number confusion, or if it's just a Red Herring.
Since we actively use the Cloud Storage service of this project, I am trying to be cautious with further experimentation with this project. I'm not sure if I should delete the Cloud SQL service in this project to get it back to the way it was, or if this is a known issue with some back-end solution. Please advise.
After setting the project id, there can be a delay where BigQuery picks up the change. It should happen within 15 minutes or so, but sometimes it takes longer.
If you send the project ID I can make sure it has been updated.