Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Filters on table name do not work with lt or gt operators #794

Closed
joelverhagen opened this issue May 22, 2021 · 2 comments · Fixed by #925
Closed

Filters on table name do not work with lt or gt operators #794

joelverhagen opened this issue May 22, 2021 · 2 comments · Fixed by #925
Assignees
Labels
investigation NewArch Tracking issues for NewArch table-storage Relating to Azurite table storage implementation

Comments

@joelverhagen
Copy link
Contributor

Which service(blob, file, queue, table) does this issue concern?

table

Which version of the Azurite was used?

3.12.0

Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)

npm

What's the Node.js version?

v14.15.5

What problem was encountered?

It does not seem possible to filter by Azure table names.

Steps to reproduce the issue?

using System;
using System.Threading.Tasks;
using Azure.Data.Tables;

namespace ConsoleApp1
{
    static class Program
    {
        static async Task Main(string[] args)
        {
            var client = new TableServiceClient("UseDevelopmentStorage=true");
            await client.GetTableClient("aaa0").CreateIfNotExistsAsync();
            await client.GetTableClient("aaa1").CreateIfNotExistsAsync();
            await client.GetTableClient("aaa2").CreateIfNotExistsAsync();
            await client.GetTableClient("aaa3").CreateIfNotExistsAsync();
            var tables = client.Query(x => x.Name.CompareTo("aaa1") >= 0 && x.Name.CompareTo("aaa2") <= 0);
            foreach (var table in tables)
            {
                Console.WriteLine(table.Name);
            }
        }
    }
}

This prints:

aaa0
aaa1
aaa2
aaa3

It should print

aaa1
aaa2

If possible, please provide the debug log using the -d parameter, replacing <pathtodebuglog> with an appropriate path for your OS, or review the instructions for docker containers:

2021-05-22T23:50:36.125Z 	 info: Azurite Blob service is starting on 127.0.0.1:10000
2021-05-22T23:50:36.126Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2021-05-22T23:50:36.126Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2021-05-22T23:50:36.156Z 	 info: BlobGCManager:start() Starting BlobGCManager. Set status to Initializing.
2021-05-22T23:50:36.156Z 	 info: BlobGCManager:start() Trigger mark and sweep loop. Set status to Running.
2021-05-22T23:50:36.156Z 	 info: BlobGCManager:markSweepLoop() Start next mark and sweep.
2021-05-22T23:50:36.157Z 	 info: BlobGCManager:markSweep() Get all extents.
2021-05-22T23:50:36.157Z 	 info: BlobGCManager:start() BlobGCManager successfully started.
2021-05-22T23:50:36.164Z 	 info: BlobGCManager:markSweep() Got 0 extents.
2021-05-22T23:50:36.164Z 	 info: BlobGCManager:markSweep() Get referred extents.
2021-05-22T23:50:36.165Z 	 info: BlobGCManager:markSweep() Got referred extents, unreferenced extents count is 0.
2021-05-22T23:50:36.165Z 	 info: BlobGCManager:markSweepLoop() Mark and sweep finished, taken 9ms.
2021-05-22T23:50:36.165Z 	 info: BlobGCManager:markSweepLoop() Sleep for 600000ms.
2021-05-22T23:50:36.166Z 	 info: Azurite Blob service successfully listens on http://127.0.0.1:10000
2021-05-22T23:50:36.167Z 	 info: Azurite Queue service is starting on 127.0.0.1:10001
2021-05-22T23:50:36.167Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2021-05-22T23:50:36.167Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2021-05-22T23:50:36.187Z 	 info: QueueGCManager:start() Starting QueueGCManager, set status to Initializing
2021-05-22T23:50:36.187Z 	 info: QueueGCManager:start() Trigger mark and sweep loop, set status to Running.
2021-05-22T23:50:36.187Z 	 info: QueueGCManager:markSweepLoop() Start new mark and sweep.
2021-05-22T23:50:36.187Z 	 info: QueueGCManger:markSweep() Get all extents.
2021-05-22T23:50:36.187Z 	 info: QueueGCManager:start() QueueGCManager successfully started.
2021-05-22T23:50:36.187Z 	 info: QueueGCManager:marksweep() Get 0 extents.
2021-05-22T23:50:36.187Z 	 info: QueueGCManager:markSweep() Get referred extents, then remove from allExtents.
2021-05-22T23:50:36.187Z 	 info: QueueGCManager:markSweep() Got referred extents, unreferenced extents count is 0.
2021-05-22T23:50:36.188Z 	 info: QueueGCManager:markSweepLoop() Mark and sweep finished, take 1ms.
2021-05-22T23:50:36.188Z 	 info: QueueGCManager:markSweepLoop() Sleep for 60000
2021-05-22T23:50:36.188Z 	 info: Azurite Queue service successfully listens on http://127.0.0.1:10001
2021-05-22T23:50:36.189Z 	 info: Azurite Table service is starting on 127.0.0.1:10002
2021-05-22T23:50:36.189Z 	 info: AccountDataStore:init() Refresh accounts from environment variable AZURITE_ACCOUNTS with value undefined
2021-05-22T23:50:36.189Z 	 info: AccountDataStore:init() Fallback to default emulator account devstoreaccount1.
2021-05-22T23:50:36.202Z 	 info: Azurite Table service successfully listens on http://127.0.0.1:10002
2021-05-22T23:50:38.315Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac info: TableStorageContextMiddleware: RequestMethod=POST RequestURL=http://127.0.0.1/devstoreaccount1/Tables?$format=application%2Fjson%3Bodata%3Dminimalmetadata RequestHeaders:{"host":"127.0.0.1:10002","x-ms-version":"2019-02-02","dataserviceversion":"3.0","accept":"application/json; odata=minimalmetadata","x-ms-client-request-id":"18ea6bf5-9d5c-47bc-9d6d-a6bce41e1196","x-ms-return-client-request-id":"true","user-agent":"azsdk-net-Data.Tables/12.0.0-beta.8 (.NET Core 3.1.15; Microsoft Windows 10.0.19042)","x-ms-date":"Sat, 22 May 2021 23:50:38 GMT","authorization":"SharedKeyLite devstoreaccount1:joQqLvEyjyi14tViHE9K2PiPuJuiNjCsPk3UWrTTTj0=","content-type":"application/json; odata=nometadata","content-length":"20"} ClientIP=127.0.0.1 Protocol=http HTTPVersion=1.1
2021-05-22T23:50:38.315Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac debug: tableStorageContextMiddleware: Dispatch pattern string: /Tables
2021-05-22T23:50:38.315Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac info: tableStorageContextMiddleware: Account=devstoreaccount1 tableName=undefined
2021-05-22T23:50:38.315Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac verbose: DispatchMiddleware: Dispatching request...
2021-05-22T23:50:38.316Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac info: DispatchMiddleware: Operation=Table_Create
2021-05-22T23:50:38.316Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac verbose: AuthenticationMiddlewareFactory:createAuthenticationMiddleware() Validating authentications.
2021-05-22T23:50:38.316Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac info: TableSharedKeyLiteAuthenticator:validate() Start validation against account shared key authentication.
2021-05-22T23:50:38.317Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac info: TableSharedKeyLiteAuthenticator:validate() [STRING TO SIGN]:"Sat, 22 May 2021 23:50:38 GMT\n/devstoreaccount1/devstoreaccount1/Tables"
2021-05-22T23:50:38.318Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac info: TableSharedKeyLiteAuthenticator:validate() Calculated authentication header based on key1: SharedKeyLite devstoreaccount1:joQqLvEyjyi14tViHE9K2PiPuJuiNjCsPk3UWrTTTj0=
2021-05-22T23:50:38.318Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac info: TableSharedKeyLiteAuthenticator:validate() Signature 1 matched.
2021-05-22T23:50:38.318Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac verbose: DeserializerMiddleware: Start deserializing...
2021-05-22T23:50:38.320Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac debug: deserialize(): Raw request body string is (removed all empty characters) {"TableName":"aaa0"}
2021-05-22T23:50:38.321Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac info: HandlerMiddleware: DeserializedParameters={"options":{"queryOptions":{"format":"application/json;odata=minimalmetadata"},"requestId":"18ea6bf5-9d5c-47bc-9d6d-a6bce41e1196","dataServiceVersion":"3.0"},"version":"2019-02-02","tableProperties":{"tableName":"aaa0"},"body":"ReadableStream"}
2021-05-22T23:50:38.322Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac verbose: SerializerMiddleware: Start serializing...
2021-05-22T23:50:38.323Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac debug: Serializer: Raw response body string is {"odata.metadata":"http://127.0.0.1:10002/devstoreaccount1/$metadata#Tables/@Element","TableName":"aaa0"}
2021-05-22T23:50:38.323Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac info: Serializer: Start returning stream body.
2021-05-22T23:50:38.324Z 74586cb2-ed93-45cc-b5e6-fb25104d11ac info: EndMiddleware: End response. TotalTimeInMS=9 StatusCode=201 StatusMessage=Created Headers={"server":"Azurite-Table/3.12.0","content-type":"application/json;odata=minimalmetadata","x-ms-client-request-id":"18ea6bf5-9d5c-47bc-9d6d-a6bce41e1196","x-ms-request-id":"74586cb2-ed93-45cc-b5e6-fb25104d11ac","x-ms-version":"2020-06-12","date":"Sat, 22 May 2021 23:50:38 GMT","preference-applied":"return-content"}
2021-05-22T23:50:38.339Z 9709b28a-8ffe-423c-87b1-ef620943d840 info: TableStorageContextMiddleware: RequestMethod=POST RequestURL=http://127.0.0.1/devstoreaccount1/Tables?$format=application%2Fjson%3Bodata%3Dminimalmetadata RequestHeaders:{"host":"127.0.0.1:10002","x-ms-version":"2019-02-02","dataserviceversion":"3.0","accept":"application/json; odata=minimalmetadata","x-ms-client-request-id":"c49b4e15-867e-49db-ab04-faa17f258f45","x-ms-return-client-request-id":"true","user-agent":"azsdk-net-Data.Tables/12.0.0-beta.8 (.NET Core 3.1.15; Microsoft Windows 10.0.19042)","x-ms-date":"Sat, 22 May 2021 23:50:38 GMT","authorization":"SharedKeyLite devstoreaccount1:joQqLvEyjyi14tViHE9K2PiPuJuiNjCsPk3UWrTTTj0=","content-type":"application/json; odata=nometadata","content-length":"20"} ClientIP=127.0.0.1 Protocol=http HTTPVersion=1.1
2021-05-22T23:50:38.339Z 9709b28a-8ffe-423c-87b1-ef620943d840 debug: tableStorageContextMiddleware: Dispatch pattern string: /Tables
2021-05-22T23:50:38.339Z 9709b28a-8ffe-423c-87b1-ef620943d840 info: tableStorageContextMiddleware: Account=devstoreaccount1 tableName=undefined
2021-05-22T23:50:38.339Z 9709b28a-8ffe-423c-87b1-ef620943d840 verbose: DispatchMiddleware: Dispatching request...
2021-05-22T23:50:38.339Z 9709b28a-8ffe-423c-87b1-ef620943d840 info: DispatchMiddleware: Operation=Table_Create
2021-05-22T23:50:38.339Z 9709b28a-8ffe-423c-87b1-ef620943d840 verbose: AuthenticationMiddlewareFactory:createAuthenticationMiddleware() Validating authentications.
2021-05-22T23:50:38.339Z 9709b28a-8ffe-423c-87b1-ef620943d840 info: TableSharedKeyLiteAuthenticator:validate() Start validation against account shared key authentication.
2021-05-22T23:50:38.339Z 9709b28a-8ffe-423c-87b1-ef620943d840 info: TableSharedKeyLiteAuthenticator:validate() [STRING TO SIGN]:"Sat, 22 May 2021 23:50:38 GMT\n/devstoreaccount1/devstoreaccount1/Tables"
2021-05-22T23:50:38.340Z 9709b28a-8ffe-423c-87b1-ef620943d840 info: TableSharedKeyLiteAuthenticator:validate() Calculated authentication header based on key1: SharedKeyLite devstoreaccount1:joQqLvEyjyi14tViHE9K2PiPuJuiNjCsPk3UWrTTTj0=
2021-05-22T23:50:38.340Z 9709b28a-8ffe-423c-87b1-ef620943d840 info: TableSharedKeyLiteAuthenticator:validate() Signature 1 matched.
2021-05-22T23:50:38.340Z 9709b28a-8ffe-423c-87b1-ef620943d840 verbose: DeserializerMiddleware: Start deserializing...
2021-05-22T23:50:38.340Z 9709b28a-8ffe-423c-87b1-ef620943d840 debug: deserialize(): Raw request body string is (removed all empty characters) {"TableName":"aaa1"}
2021-05-22T23:50:38.340Z 9709b28a-8ffe-423c-87b1-ef620943d840 info: HandlerMiddleware: DeserializedParameters={"options":{"queryOptions":{"format":"application/json;odata=minimalmetadata"},"requestId":"c49b4e15-867e-49db-ab04-faa17f258f45","dataServiceVersion":"3.0"},"version":"2019-02-02","tableProperties":{"tableName":"aaa1"},"body":"ReadableStream"}
2021-05-22T23:50:38.341Z 9709b28a-8ffe-423c-87b1-ef620943d840 verbose: SerializerMiddleware: Start serializing...
2021-05-22T23:50:38.341Z 9709b28a-8ffe-423c-87b1-ef620943d840 debug: Serializer: Raw response body string is {"odata.metadata":"http://127.0.0.1:10002/devstoreaccount1/$metadata#Tables/@Element","TableName":"aaa1"}
2021-05-22T23:50:38.341Z 9709b28a-8ffe-423c-87b1-ef620943d840 info: Serializer: Start returning stream body.
2021-05-22T23:50:38.341Z 9709b28a-8ffe-423c-87b1-ef620943d840 info: EndMiddleware: End response. TotalTimeInMS=2 StatusCode=201 StatusMessage=Created Headers={"server":"Azurite-Table/3.12.0","content-type":"application/json;odata=minimalmetadata","x-ms-client-request-id":"c49b4e15-867e-49db-ab04-faa17f258f45","x-ms-request-id":"9709b28a-8ffe-423c-87b1-ef620943d840","x-ms-version":"2020-06-12","date":"Sat, 22 May 2021 23:50:38 GMT","preference-applied":"return-content"}
2021-05-22T23:50:38.342Z 3529a18c-e821-4a52-aba0-4ab7f933b056 info: TableStorageContextMiddleware: RequestMethod=POST RequestURL=http://127.0.0.1/devstoreaccount1/Tables?$format=application%2Fjson%3Bodata%3Dminimalmetadata RequestHeaders:{"host":"127.0.0.1:10002","x-ms-version":"2019-02-02","dataserviceversion":"3.0","accept":"application/json; odata=minimalmetadata","x-ms-client-request-id":"db0f549a-3d4b-479e-87df-8ec340941404","x-ms-return-client-request-id":"true","user-agent":"azsdk-net-Data.Tables/12.0.0-beta.8 (.NET Core 3.1.15; Microsoft Windows 10.0.19042)","x-ms-date":"Sat, 22 May 2021 23:50:38 GMT","authorization":"SharedKeyLite devstoreaccount1:joQqLvEyjyi14tViHE9K2PiPuJuiNjCsPk3UWrTTTj0=","content-type":"application/json; odata=nometadata","content-length":"20"} ClientIP=127.0.0.1 Protocol=http HTTPVersion=1.1
2021-05-22T23:50:38.342Z 3529a18c-e821-4a52-aba0-4ab7f933b056 debug: tableStorageContextMiddleware: Dispatch pattern string: /Tables
2021-05-22T23:50:38.342Z 3529a18c-e821-4a52-aba0-4ab7f933b056 info: tableStorageContextMiddleware: Account=devstoreaccount1 tableName=undefined
2021-05-22T23:50:38.342Z 3529a18c-e821-4a52-aba0-4ab7f933b056 verbose: DispatchMiddleware: Dispatching request...
2021-05-22T23:50:38.342Z 3529a18c-e821-4a52-aba0-4ab7f933b056 info: DispatchMiddleware: Operation=Table_Create
2021-05-22T23:50:38.342Z 3529a18c-e821-4a52-aba0-4ab7f933b056 verbose: AuthenticationMiddlewareFactory:createAuthenticationMiddleware() Validating authentications.
2021-05-22T23:50:38.342Z 3529a18c-e821-4a52-aba0-4ab7f933b056 info: TableSharedKeyLiteAuthenticator:validate() Start validation against account shared key authentication.
2021-05-22T23:50:38.342Z 3529a18c-e821-4a52-aba0-4ab7f933b056 info: TableSharedKeyLiteAuthenticator:validate() [STRING TO SIGN]:"Sat, 22 May 2021 23:50:38 GMT\n/devstoreaccount1/devstoreaccount1/Tables"
2021-05-22T23:50:38.342Z 3529a18c-e821-4a52-aba0-4ab7f933b056 info: TableSharedKeyLiteAuthenticator:validate() Calculated authentication header based on key1: SharedKeyLite devstoreaccount1:joQqLvEyjyi14tViHE9K2PiPuJuiNjCsPk3UWrTTTj0=
2021-05-22T23:50:38.342Z 3529a18c-e821-4a52-aba0-4ab7f933b056 info: TableSharedKeyLiteAuthenticator:validate() Signature 1 matched.
2021-05-22T23:50:38.342Z 3529a18c-e821-4a52-aba0-4ab7f933b056 verbose: DeserializerMiddleware: Start deserializing...
2021-05-22T23:50:38.342Z 3529a18c-e821-4a52-aba0-4ab7f933b056 debug: deserialize(): Raw request body string is (removed all empty characters) {"TableName":"aaa2"}
2021-05-22T23:50:38.342Z 3529a18c-e821-4a52-aba0-4ab7f933b056 info: HandlerMiddleware: DeserializedParameters={"options":{"queryOptions":{"format":"application/json;odata=minimalmetadata"},"requestId":"db0f549a-3d4b-479e-87df-8ec340941404","dataServiceVersion":"3.0"},"version":"2019-02-02","tableProperties":{"tableName":"aaa2"},"body":"ReadableStream"}
2021-05-22T23:50:38.343Z 3529a18c-e821-4a52-aba0-4ab7f933b056 verbose: SerializerMiddleware: Start serializing...
2021-05-22T23:50:38.343Z 3529a18c-e821-4a52-aba0-4ab7f933b056 debug: Serializer: Raw response body string is {"odata.metadata":"http://127.0.0.1:10002/devstoreaccount1/$metadata#Tables/@Element","TableName":"aaa2"}
2021-05-22T23:50:38.343Z 3529a18c-e821-4a52-aba0-4ab7f933b056 info: Serializer: Start returning stream body.
2021-05-22T23:50:38.343Z 3529a18c-e821-4a52-aba0-4ab7f933b056 info: EndMiddleware: End response. TotalTimeInMS=1 StatusCode=201 StatusMessage=Created Headers={"server":"Azurite-Table/3.12.0","content-type":"application/json;odata=minimalmetadata","x-ms-client-request-id":"db0f549a-3d4b-479e-87df-8ec340941404","x-ms-request-id":"3529a18c-e821-4a52-aba0-4ab7f933b056","x-ms-version":"2020-06-12","date":"Sat, 22 May 2021 23:50:38 GMT","preference-applied":"return-content"}
2021-05-22T23:50:38.343Z a4811114-556a-4bb0-9032-84b6d1d983fe info: TableStorageContextMiddleware: RequestMethod=POST RequestURL=http://127.0.0.1/devstoreaccount1/Tables?$format=application%2Fjson%3Bodata%3Dminimalmetadata RequestHeaders:{"host":"127.0.0.1:10002","x-ms-version":"2019-02-02","dataserviceversion":"3.0","accept":"application/json; odata=minimalmetadata","x-ms-client-request-id":"6ff523d6-0805-41a8-9d07-43c40819991e","x-ms-return-client-request-id":"true","user-agent":"azsdk-net-Data.Tables/12.0.0-beta.8 (.NET Core 3.1.15; Microsoft Windows 10.0.19042)","x-ms-date":"Sat, 22 May 2021 23:50:38 GMT","authorization":"SharedKeyLite devstoreaccount1:joQqLvEyjyi14tViHE9K2PiPuJuiNjCsPk3UWrTTTj0=","content-type":"application/json; odata=nometadata","content-length":"20"} ClientIP=127.0.0.1 Protocol=http HTTPVersion=1.1
2021-05-22T23:50:38.343Z a4811114-556a-4bb0-9032-84b6d1d983fe debug: tableStorageContextMiddleware: Dispatch pattern string: /Tables
2021-05-22T23:50:38.343Z a4811114-556a-4bb0-9032-84b6d1d983fe info: tableStorageContextMiddleware: Account=devstoreaccount1 tableName=undefined
2021-05-22T23:50:38.343Z a4811114-556a-4bb0-9032-84b6d1d983fe verbose: DispatchMiddleware: Dispatching request...
2021-05-22T23:50:38.344Z a4811114-556a-4bb0-9032-84b6d1d983fe info: DispatchMiddleware: Operation=Table_Create
2021-05-22T23:50:38.344Z a4811114-556a-4bb0-9032-84b6d1d983fe verbose: AuthenticationMiddlewareFactory:createAuthenticationMiddleware() Validating authentications.
2021-05-22T23:50:38.344Z a4811114-556a-4bb0-9032-84b6d1d983fe info: TableSharedKeyLiteAuthenticator:validate() Start validation against account shared key authentication.
2021-05-22T23:50:38.344Z a4811114-556a-4bb0-9032-84b6d1d983fe info: TableSharedKeyLiteAuthenticator:validate() [STRING TO SIGN]:"Sat, 22 May 2021 23:50:38 GMT\n/devstoreaccount1/devstoreaccount1/Tables"
2021-05-22T23:50:38.344Z a4811114-556a-4bb0-9032-84b6d1d983fe info: TableSharedKeyLiteAuthenticator:validate() Calculated authentication header based on key1: SharedKeyLite devstoreaccount1:joQqLvEyjyi14tViHE9K2PiPuJuiNjCsPk3UWrTTTj0=
2021-05-22T23:50:38.344Z a4811114-556a-4bb0-9032-84b6d1d983fe info: TableSharedKeyLiteAuthenticator:validate() Signature 1 matched.
2021-05-22T23:50:38.344Z a4811114-556a-4bb0-9032-84b6d1d983fe verbose: DeserializerMiddleware: Start deserializing...
2021-05-22T23:50:38.344Z a4811114-556a-4bb0-9032-84b6d1d983fe debug: deserialize(): Raw request body string is (removed all empty characters) {"TableName":"aaa3"}
2021-05-22T23:50:38.344Z a4811114-556a-4bb0-9032-84b6d1d983fe info: HandlerMiddleware: DeserializedParameters={"options":{"queryOptions":{"format":"application/json;odata=minimalmetadata"},"requestId":"6ff523d6-0805-41a8-9d07-43c40819991e","dataServiceVersion":"3.0"},"version":"2019-02-02","tableProperties":{"tableName":"aaa3"},"body":"ReadableStream"}
2021-05-22T23:50:38.344Z a4811114-556a-4bb0-9032-84b6d1d983fe verbose: SerializerMiddleware: Start serializing...
2021-05-22T23:50:38.344Z a4811114-556a-4bb0-9032-84b6d1d983fe debug: Serializer: Raw response body string is {"odata.metadata":"http://127.0.0.1:10002/devstoreaccount1/$metadata#Tables/@Element","TableName":"aaa3"}
2021-05-22T23:50:38.344Z a4811114-556a-4bb0-9032-84b6d1d983fe info: Serializer: Start returning stream body.
2021-05-22T23:50:38.345Z a4811114-556a-4bb0-9032-84b6d1d983fe info: EndMiddleware: End response. TotalTimeInMS=2 StatusCode=201 StatusMessage=Created Headers={"server":"Azurite-Table/3.12.0","content-type":"application/json;odata=minimalmetadata","x-ms-client-request-id":"6ff523d6-0805-41a8-9d07-43c40819991e","x-ms-request-id":"a4811114-556a-4bb0-9032-84b6d1d983fe","x-ms-version":"2020-06-12","date":"Sat, 22 May 2021 23:50:38 GMT","preference-applied":"return-content"}
2021-05-22T23:50:38.359Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 info: TableStorageContextMiddleware: RequestMethod=GET RequestURL=http://127.0.0.1/devstoreaccount1/Tables?$format=application%2Fjson%3Bodata%3Dminimalmetadata&$filter=%28TableName%20ge%20%27aaa1%27%29%20and%20%28TableName%20le%20%27aaa2%27%29 RequestHeaders:{"host":"127.0.0.1:10002","x-ms-version":"2019-02-02","dataserviceversion":"3.0","accept":"application/json; odata=minimalmetadata","x-ms-client-request-id":"b1ab6c35-d9fc-40f0-8b18-c09e13ccfc89","x-ms-return-client-request-id":"true","user-agent":"azsdk-net-Data.Tables/12.0.0-beta.8 (.NET Core 3.1.15; Microsoft Windows 10.0.19042)","x-ms-date":"Sat, 22 May 2021 23:50:38 GMT","authorization":"SharedKeyLite devstoreaccount1:joQqLvEyjyi14tViHE9K2PiPuJuiNjCsPk3UWrTTTj0="} ClientIP=127.0.0.1 Protocol=http HTTPVersion=1.1
2021-05-22T23:50:38.359Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 debug: tableStorageContextMiddleware: Dispatch pattern string: /Tables
2021-05-22T23:50:38.359Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 info: tableStorageContextMiddleware: Account=devstoreaccount1 tableName=undefined
2021-05-22T23:50:38.359Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 verbose: DispatchMiddleware: Dispatching request...
2021-05-22T23:50:38.359Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 info: DispatchMiddleware: Operation=Table_Query
2021-05-22T23:50:38.359Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 verbose: AuthenticationMiddlewareFactory:createAuthenticationMiddleware() Validating authentications.
2021-05-22T23:50:38.359Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 info: TableSharedKeyLiteAuthenticator:validate() Start validation against account shared key authentication.
2021-05-22T23:50:38.359Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 info: TableSharedKeyLiteAuthenticator:validate() [STRING TO SIGN]:"Sat, 22 May 2021 23:50:38 GMT\n/devstoreaccount1/devstoreaccount1/Tables"
2021-05-22T23:50:38.359Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 info: TableSharedKeyLiteAuthenticator:validate() Calculated authentication header based on key1: SharedKeyLite devstoreaccount1:joQqLvEyjyi14tViHE9K2PiPuJuiNjCsPk3UWrTTTj0=
2021-05-22T23:50:38.359Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 info: TableSharedKeyLiteAuthenticator:validate() Signature 1 matched.
2021-05-22T23:50:38.359Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 verbose: DeserializerMiddleware: Start deserializing...
2021-05-22T23:50:38.360Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 info: HandlerMiddleware: DeserializedParameters={"options":{"queryOptions":{"format":"application/json;odata=minimalmetadata","filter":"(TableName ge 'aaa1') and (TableName le 'aaa2')"},"requestId":"b1ab6c35-d9fc-40f0-8b18-c09e13ccfc89","dataServiceVersion":"3.0"},"version":"2019-02-02"}
2021-05-22T23:50:38.360Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 verbose: SerializerMiddleware: Start serializing...
2021-05-22T23:50:38.360Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 debug: Serializer: Raw response body string is {"odata.metadata":"http://127.0.0.1:10002/devstoreaccount1/$metadata#Tables","value":[{"TableName":"aaa0"},{"TableName":"aaa1"},{"TableName":"aaa2"},{"TableName":"aaa3"}]}
2021-05-22T23:50:38.360Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 info: Serializer: Start returning stream body.
2021-05-22T23:50:38.360Z 451bc8d9-f2cc-4fb6-b505-2470cb57b981 info: EndMiddleware: End response. TotalTimeInMS=1 StatusCode=200 StatusMessage=OK Headers={"server":"Azurite-Table/3.12.0","content-type":"application/json;odata=minimalmetadata","x-ms-client-request-id":"b1ab6c35-d9fc-40f0-8b18-c09e13ccfc89","x-ms-request-id":"451bc8d9-f2cc-4fb6-b505-2470cb57b981","x-ms-version":"2020-06-12","date":"Sat, 22 May 2021 23:50:38 GMT"}
2021-05-22T23:50:41.552Z 	 info: Azurite Blob service is closing...
2021-05-22T23:50:41.552Z 	 info: Azurite Queue service is closing...
2021-05-22T23:50:41.552Z 	 info: Azurite Table service is closing...
2021-05-22T23:50:41.553Z 	 info: BlobGCManager:close() Start closing BlobGCManager. Set status to Closing.
2021-05-22T23:50:41.553Z 	 info: QueueGCManager:close() Start closing QueueGCManager, set status to Closing.
2021-05-22T23:50:41.553Z 	 info: BlobGCManager:start() Mark and sweep loop is closed.
2021-05-22T23:50:41.553Z 	 info: BlobGCManager:close() BlobGCManager successfully closed. Set status to Closed.
2021-05-22T23:50:41.553Z 	 info: QueueGCManager:start() Mark and sweep loop is closed.
2021-05-22T23:50:41.553Z 	 info: QueueGCManager:close() QueueGCManager successfully closed, set status to Closed.
2021-05-22T23:50:41.553Z 	 info: Azurite Table service successfully closed
2021-05-22T23:50:41.554Z 	 info: Azurite Blob service successfully closed
2021-05-22T23:50:41.554Z 	 info: Azurite Queue service successfully closed

Please be sure to remove any PII or sensitive information before sharing!
The debug log will log raw request headers and bodies, so that we can replay these against Azurite using REST and create tests to validate resolution.

Have you found a mitigation/solution?

@XiaoningLiu XiaoningLiu added featureparity Tracking issues for catching up feature parity table-storage Relating to Azurite table storage implementation NewArch Tracking issues for NewArch investigation and removed featureparity Tracking issues for catching up feature parity labels May 28, 2021
@XiaoningLiu
Copy link
Member

Thanks! Will further check about query support.

@edwin-huber edwin-huber self-assigned this Jun 9, 2021
@edwin-huber
Copy link
Collaborator

@CodeUnicornMartha - Can you take a look at creating some Unit Tests for the Query parsing issues?

@XiaoningLiu XiaoningLiu added this to the GA - Azurite V3 Table milestone Jul 7, 2021
XiaoningLiu added a commit that referenced this issue Jul 28, 2021
* Add table name filtering

Fix #794

* Update ChangeLog

Co-authored-by: xiaonlimsft <xiaonli@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
investigation NewArch Tracking issues for NewArch table-storage Relating to Azurite table storage implementation
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants