Jump to content

Recommended Posts

Posted

Hi,

 

Just looking at HAP for the first time here, with the latest 7.6 version.

 

I can get the home drive to show for a test user. However, the disk quota information does not show.

 

I've installed the seperate HAP+ Quota service on both the home drive and webserver servers, but on both the service fails to start with a 'Cannot get uri hostname' being reported.

 

On the HAP+ Config screen, it is not clear what settings I should put in for 'Quota Server'. I've seen some other posts where users have used a $ dollar symbol in a UNC, but it is not clear what exactly this should be.

 

So a few questions if I may:-

 

1. Where exactly shoudl the HAP Quota Service be installed, or does it not matter?

2. Does it matter that the service will not start?

3. A few pointers on what should be configured under the 'Add Quota Server' on the config screen would be greatly appreciated, as I cannot find any documentation on this function.

 

Thanks for providing HAP+ and thanks for any help you can give.

 

Regards,

Moby.

Posted

Can you try the attached MSI, uninstall the current version and try this one.

 

You only need to install this on your file server.

 

You then add mappings into the Quota Server Section of HAP to tell it to use that specific server to get quota information for a specific UNC path, where {0} is the user's username

 

So you have installed the quota service on server-1

 

In hap, you tell it to use server-1 for quota information for \\server-1\homes\{0} using drive H:\ on server-1 for that information.

 

So when a user has that a drive mapping with \\server-1\homes\user in it, the system will ask server-1 for quota information on drive h:\ for the user

Posted (edited)

Hi Nick,

 

Thanks for this. I've replaced the Quota service on the fileserver. It no longer abends and starts successfully. :)

 

However, quota information/disk space is still not shown and the test user can continue to upload files even though in theory they are out of space. I've added a disk/volume disk limit and a newer FSRM limit.

 

The relevant lines from my hapconfig file are:

 

%homedir%

\\SRV01\USERHOME\%username%

%homedir%

\\SRV01\USERHOME\%username%

 

The test server running IIS is SRV02 and my test DC/file server is SRV01. Testuser's home drive is set as \\SRV01\USERHOME\TESTUSER in AD. I've tried two ways of providing the home drive above (using both %homedir% and \\unc\share\%username%) - both show as drives and can be browsed, but no quota on either.

 

Any more ideas would be greatly appreciated!

 

Thanks,

Moby.

 

p.s. I downloaded and installed subsequently the HAP Logging util, but it doesn't seem to make any logs anywhere.

 

Can you try the attached MSI, uninstall the current version and try this one.

 

You only need to install this on your file server.

 

You then add mappings into the Quota Server Section of HAP to tell it to use that specific server to get quota information for a specific UNC path, where {0} is the user's username

 

So you have installed the quota service on server-1

 

In hap, you tell it to use server-1 for quota information for \\server-1\homes\{0} using drive H:\ on server-1 for that information.

 

So when a user has that a drive mapping with \\server-1\homes\user in it, the system will ask server-1 for quota information on drive h:\ for the user

Edited by mobybrick
Posted

Hi Nick,

 

Thanks for your help with this, but still no progress I'm afraid. I've tried the {0} again, together with FQDN for the quota server. I then added FQDN to all drive specs (including mappings) but makes no difference. I always get the connection to the home drive, but no indication of disk space. The green bar is always full (it shows for a few seconds and then disappears when the My Computer view shows) and are no out-of-space messages on upload.

 

If I try to upload a file and the user is *already* overspace, then an exception is reported to the user in the browser (see attached).

 

Additionally, the error log of the server reports:

 

Log Name: Application

Source: ASP.NET 4.0.30319.0

Date: 04/11/2011 17:54:19

Event ID: 1309

Task Category: Web Event

Level: Warning

Keywords: Classic

User: N/A

Computer: SRV02.sludgy.local

Description:

Event code: 3005

Event message: An unhandled exception has occurred.

Event time: 04/11/2011 17:54:19

Event time (UTC): 04/11/2011 17:54:19

Event ID: 66ed683ead3c4e6ba0fcaf4a6675f2cb

Event sequence: 8

Event occurrence: 1

Event detail code: 0

 

Application information:

Application domain: /LM/W3SVC/1/ROOT/HAP-1-129649028509300389

Trust level: Full

Application Virtual Path: /HAP

Application Path: C:\inetpub\wwwroot\HAP\

Machine name: SRV02

 

Process information:

Process ID: 2100

Process name: w3wp.exe

Account name: IIS APPPOOL\HAP

 

Exception information:

Exception type: ArgumentException

Exception message: Parameter is not valid.

at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)

at HAP.Web.API.Thumbs.ProcessRequest(HttpContext context)

at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

 

 

 

Request information:

Request URL: https://srv02:443/HAP/api/mycomputer/thumb/U/cover[3].jpg

Request path: /HAP/api/mycomputer/thumb/U/cover[3].jpg

User host address: 192.168.1.22

User: testuser

Is authenticated: True

Authentication Type: Forms

Thread account name: IIS APPPOOL\HAP

 

Thread information:

Thread ID: 5

Thread account name: IIS APPPOOL\HAP

Is impersonating: False

Stack trace: at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)

at HAP.Web.API.Thumbs.ProcessRequest(HttpContext context)

at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

 

 

Custom event details:

 

Event Xml:

1309

3

3

0x80000000000000

2546

Application

SRV02.sludgy.local

3005

An unhandled exception has occurred.

04/11/2011 17:54:19

04/11/2011 17:54:19

66ed683ead3c4e6ba0fcaf4a6675f2cb

8

1

0

/LM/W3SVC/1/ROOT/HAP-1-129649028509300389

Full

/HAP

C:\inetpub\wwwroot\HAP\

SRV02

2100

w3wp.exe

IIS APPPOOL\HAP

ArgumentException

Parameter is not valid.

at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)

at HAP.Web.API.Thumbs.ProcessRequest(HttpContext context)

at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

 

https://srv02:443/HAP/api/mycomputer/thumb/U/cover[3].jpg

/HAP/api/mycomputer/thumb/U/cover[3].jpg

192.168.1.22

testuser

True

Forms

IIS APPPOOL\HAP

5

IIS APPPOOL\HAP

False

at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)

at HAP.Web.API.Thumbs.ProcessRequest(HttpContext context)

at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

 

 

Here are my current mappings:

 

\\SRV01\USERHOME\%username%

\\SRV01.SLUDGY.LOCAL\USERHOME\{0}

 

Any fixture of FQDN on the UNC (either on the mapping or quotaserver) does not seem to enable quota operation.

 

Any other suggestions you might have would be greatly appreciated! Is there any other logging I can do?

 

Thanks again,

Moby.

exception1.JPG

try \\server-1\homes\{0} in the quota server instead, also add a FQDN UNC as well
Posted

Additionally, the error log of the server reports:

 

Log Name: Application

Source: ASP.NET 4.0.30319.0

Date: 04/11/2011 17:54:19

Event ID: 1309

Task Category: Web Event

Level: Warning

Keywords: Classic

User: N/A

Computer: SRV02.sludgy.local

Description:

Event code: 3005

Event message: An unhandled exception has occurred.

Event time: 04/11/2011 17:54:19

Event time (UTC): 04/11/2011 17:54:19

Event ID: 66ed683ead3c4e6ba0fcaf4a6675f2cb

Event sequence: 8

Event occurrence: 1

Event detail code: 0

 

Application information:

Application domain: /LM/W3SVC/1/ROOT/HAP-1-129649028509300389

Trust level: Full

Application Virtual Path: /HAP

Application Path: C:\inetpub\wwwroot\HAP\

Machine name: SRV02

 

Process information:

Process ID: 2100

Process name: w3wp.exe

Account name: IIS APPPOOL\HAP

 

Exception information:

Exception type: ArgumentException

Exception message: Parameter is not valid.

at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)

at HAP.Web.API.Thumbs.ProcessRequest(HttpContext context)

at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

 

 

 

Request information:

Request URL: https://srv02:443/HAP/api/mycomputer/thumb/U/cover[3].jpg

Request path: /HAP/api/mycomputer/thumb/U/cover[3].jpg

User host address: 192.168.1.22

User: testuser

Is authenticated: True

Authentication Type: Forms

Thread account name: IIS APPPOOL\HAP

 

Thread information:

Thread ID: 5

Thread account name: IIS APPPOOL\HAP

Is impersonating: False

Stack trace: at System.Drawing.Image.FromStream(Stream stream, Boolean useEmbeddedColorManagement, Boolean validateImageData)

at HAP.Web.API.Thumbs.ProcessRequest(HttpContext context)

at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

This error I think is down to the square brackets, I don't think the HTTP standard likes them

Posted

I'll try your %username% suggestion again as soon as I can, although I'm pretty sure I've already tried all of these combos + FQDNs. The share is not hidden.

 

Does the quota service support both the disk-based quota system (the Win2K method) and the newer FSRM method?

 

The exception error is raised on any file name (e.g. "build.docx") it just so happens that the above upload had square brackets in it.

 

Thanks,

Moby.

 

This error I think is down to the square brackets, I don't think the HTTP standard likes them
Posted

Hi Nick,

 

Thanks for clarifying this, will continue to test against the old volume quota system. I'll get some results back shortly. Can I put the use of the replacement 'Windows File Server Resource Manager' quota system (which is what I think people are now mainly using?) as a feature request for the next version?

 

Thanks,

Moby.

 

The quota system uses the in built Windows Disk Quota System
Posted

Hi Nick,

 

Still doesn't work I'm afraid. There is no drive space indicator and HAP will still allow users to (attempt) to upload files beyond their disk space.

 

- If a user attempts to write a file that crosses the available disk space boundary, the exception detailed above occurrs, because HAP tries to get the system to refresh a thumbnail for a file that was truncated or not completely copied (i.e. the file copy starts and then aborts).

 

- If a user tries to copy a file and there is no space at all, no file is copied and an access violation *sometimes* occurrs but is reported to the client only. Nothing is logged on the server. I've attached the error popup box tat appears to this thread. There is no formatted error message to report no disk space/file not copied. Only in basic HTML upload mode is the following error generated:

 

Exception Details: System.IO.IOException: There is not enough space on the disk.

 

[iOException: There is not enough space on the disk.

]

System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +12893156

System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath) +2481

System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy) +229

System.IO.FileStream..ctor(String path, FileMode mode) +106

System.Web.HttpPostedFile.SaveAs(String filename) +295

HAP.Web.UploadH.uploadbtn_Click(Object sender, EventArgs e) +554

System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +154

System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3707

 

- There green drive letter bar only appears for a few seconds but never changes & there doesn't ever appear to be a disk space that I can see.

 

Hope this helps you figure out what I've either done wrong or needs fixing!

 

Thanks again,

Moby.exception2.JPG

Posted
Most of the my files bits of HAP+ are getting replaced in v8, but that isn't due out anytime soon. I'm currently in planning mode for my major network upgrade at feb half term/easter, and HAP+ is currently on the back burner
  • 4 weeks later...
Posted

Hi Nick,

 

The updated "Hap Quota Service" you provided in this thread prevents the 'System.UriFormatException: Invalid URI' message that I got with the original 7.6 release on startup (and which prevents the Quota service running).

 

Unfortunately the newly updated version dated 28/11 re-introduces the original error. Can you include the change for the URI message in your next release please?

 

Thanks

Moby

 

Can you try the attached MSI, uninstall the current version and try this one.

 

You only need to install this on your file server.

 

You then add mappings into the Quota Server Section of HAP to tell it to use that specific server to get quota information for a specific UNC path, where {0} is the user's username

 

So you have installed the quota service on server-1

 

In hap, you tell it to use server-1 for quota information for \\server-1\homes\{0} using drive H:\ on server-1 for that information.

 

So when a user has that a drive mapping with \\server-1\homes\user in it, the system will ask server-1 for quota information on drive h:\ for the user

Posted

Hi Nick,

 

The problem seems to refer to the use of the line 'string urlService = "net.tcp://localhost:8010/HAPQuotaService";' in QuotaService.CS. I don't think this a problem with your code, but is a side effect of server systems that have both IPv6 and IPv4 enabled (which is default on 2008 R2) but only one actually in use (i.e. IPv6 is not bound to any adapter).

 

I following the instructions of Useless Inc. - IPv6 and localhost on Windows to set the system to prefer IPv4, and the Quota service now works.

 

Does that make sense? Thanks for your input!

 

Yours

Moby

 

Hi Nick,

 

The updated "Hap Quota Service" you provided in this thread prevents the 'System.UriFormatException: Invalid URI' message that I got with the original 7.6 release on startup (and which prevents the Quota service running).

 

Unfortunately the newly updated version dated 28/11 re-introduces the original error. Can you include the change for the URI message in your next release please?

 

Thanks

Moby

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...